1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-27 05:10:36 +00:00

Use mkstemp() instean of insecure tmpname().

This commit is contained in:
Maxim Sobolev 2000-06-07 08:39:53 +00:00
parent 9eb728a459
commit 06785755ab
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=29300
3 changed files with 56 additions and 0 deletions

View File

@ -15,5 +15,6 @@ DISTNAME= libPropList-${PORTVERSION}
MAINTAINER= sobomax@FreeBSD.org
USE_LIBTOOL= yes
USE_AUTOCONF= yes
.include <bsd.port.mk>

View File

@ -0,0 +1,44 @@
--- filehandling.c.orig Tue Feb 15 03:03:56 2000
+++ filehandling.c Wed Jun 7 01:03:50 2000
@@ -464,6 +464,7 @@
if (atomically)
{
+#ifndef HAVE_MKSTEMP
theFileName = tmpnam(NULL);
strcpy(tmp_fileName, theFileName);
@@ -492,14 +493,33 @@
}
theFileName = strcat(dirname, basename);
+#else /* HAVE_MKSTEMP */
+ int fd;
+
+ strcpy(tmp_fileName, "/tmp/tmp.XXXXXX");
+ if ((fd = mkstemp(tmp_fileName)) == -1)
+
+ goto failure; /* Not reached */
+
+ if ((theFile = fdopen(fd, "w+")) == NULL)
+
+ goto failure; /* Not reached */
+
+ theFileName = tmp_fileName;
+#endif
}
else
{
theFileName = theRealFileName;
+#ifdef HAVE_MKSTEMP
+ theFile = fopen(theFileName, "w");
+#endif /* HAVE_MKSTEMP */
}
/* Open the file (whether temp or real) for writing. */
+#ifndef HAVE_MKSTEMP
theFile = fopen(theFileName, "w");
+#endif /* ! HAVE_MKSTEMP */
if (theFile == NULL) /* Something went wrong; we weren't
* even able to open the file. */

View File

@ -0,0 +1,11 @@
--- work/libPropList-0.10.1/configure.in Sun Apr 2 00:41:39 2000
+++ configure.in Wed Jun 7 00:39:07 2000
@@ -42,7 +42,7 @@
AC_FUNC_MEMCMP
AC_TYPE_SIGNAL
-AC_CHECK_FUNCS(gethostname gettimeofday mkdir rmdir select strstr)
+AC_CHECK_FUNCS(gethostname gettimeofday mkdir mkstemp rmdir select strstr)
AC_CHECK_FUNC(socket,,
AC_CHECK_LIB(socket, socket, XTRALIBS="$XTRALIBS -lsocket",))