From 75b24a61d2f38dd1a28db4c6c9720eb282d3f1fc Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Wed, 4 Aug 1999 16:55:38 +0000 Subject: [PATCH] (main): use mkstemp to generate temporary file names. From Miroslav Ruda git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@6704 ec53bebd-3082-4978-b11e-865c3cabbd6b --- appl/afsutil/pagsh.c | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/appl/afsutil/pagsh.c b/appl/afsutil/pagsh.c index e06f1eed2..306d07f8c 100644 --- a/appl/afsutil/pagsh.c +++ b/appl/afsutil/pagsh.c @@ -84,25 +84,18 @@ main(int argc, char **argv) int i; #ifdef KRB5 - do { - snprintf(tf, sizeof(tf), "%s%u_%u", KRB5_DEFAULT_CCROOT, - (unsigned int)getuid(), - (unsigned int)(getpid()*time(0))); - f = open(tf + strlen("FILE:"), O_CREAT|O_EXCL|O_RDWR); - } while(f < 0); - close(f); - unlink(tf + strlen("FILE:")); + snprintf (tf, sizeof(tf), "%sXXXXXX", KRB5_DEFAULT_CCROOT); + f = mkstemp (tf + 5); + close (f); + unlink (tf + 5); setenv("KRB5CCNAME", tf, 1); #endif #ifdef KRB4 - do { - snprintf(tf, sizeof(tf), "%s%u_%u", TKT_ROOT, (unsigned int)getuid(), - (unsigned int)(getpid()*time(0))); - f = open(tf, O_CREAT|O_EXCL|O_RDWR); - } while(f < 0); - close(f); - unlink(tf); + snprintf (tf, sizeof(tf), "%s_XXXXXX", TKT_ROOT); + f = mkstemp (tf); + close (f); + unlink (tf); setenv("KRBTKFILE", tf, 1); #endif @@ -145,6 +138,7 @@ main(int argc, char **argv) if(k_hasafs()) k_setpag(); + unsetenv("PAGPID"); execvp(path, args); if (errno == ENOENT) { char **sh_args = malloc ((i + 2) * sizeof(char *));