Date: Sun, 9 Jan 2000 02:06:37 -0800 (PST) From: Kris Kennaway <kris@hub.freebsd.org> To: audit@freebsd.org Subject: Tempfile handling in kgzip Message-ID: <Pine.BSF.4.21.0001090205320.87817-100000@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
tempnam() -> mkstemp()
Kris
Index: kgzip.c
===================================================================
RCS file: /home/ncvs/src/usr.sbin/kgzip/kgzip.c,v
retrieving revision 1.2
diff -u -r1.2 kgzip.c
--- kgzip.c 1999/08/28 01:16:43 1.2
+++ kgzip.c 2000/01/09 10:02:49
@@ -47,11 +47,9 @@
#define SFX_KGZ ".kgz" /* Filename suffix: executable */
#define SFX_MAX 5 /* Size of larger filename suffix */
-#define TMP_PREFIX "kgz" /* Temporary file prefix */
-
const char *loader = "/usr/lib/kgzldr.o"; /* Default loader */
-static const char *tname; /* Name of temporary file */
+static char tname[] = "/tmp/kgzXXXXXXXXXX"; /* Name of temporary file */
static void cleanup(void);
static void mk_fn(int, const char *, const char *, char *[]);
@@ -122,7 +120,7 @@
{
const char *p, *s;
size_t n;
- int i;
+ int i, fd;
i = 0;
s = strrchr(f1, 0);
@@ -133,8 +131,9 @@
}
fn[i++] = (char *)f1;
if (i == FN_OBJ && !cflag) {
- if (!(tname = tempnam(NULL, TMP_PREFIX)))
+ if ((fd = mkstemp(tname)) == -1)
err(1, NULL);
+ close(fd);
fn[i++] = (char *)tname;
}
if (!(fn[i] = (char *)f2)) {
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-audit" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0001090205320.87817-100000>
