(main): use mkstemp to generate temporary file names. From Miroslav

Ruda <ruda@ics.muni.cz>


git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@6704 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
1999-08-04 16:55:38 +00:00
parent dd4237d6e5
commit 75b24a61d2

View File

@@ -84,25 +84,18 @@ main(int argc, char **argv)
int i; int i;
#ifdef KRB5 #ifdef KRB5
do { snprintf (tf, sizeof(tf), "%sXXXXXX", KRB5_DEFAULT_CCROOT);
snprintf(tf, sizeof(tf), "%s%u_%u", KRB5_DEFAULT_CCROOT, f = mkstemp (tf + 5);
(unsigned int)getuid(), close (f);
(unsigned int)(getpid()*time(0))); unlink (tf + 5);
f = open(tf + strlen("FILE:"), O_CREAT|O_EXCL|O_RDWR);
} while(f < 0);
close(f);
unlink(tf + strlen("FILE:"));
setenv("KRB5CCNAME", tf, 1); setenv("KRB5CCNAME", tf, 1);
#endif #endif
#ifdef KRB4 #ifdef KRB4
do { snprintf (tf, sizeof(tf), "%s_XXXXXX", TKT_ROOT);
snprintf(tf, sizeof(tf), "%s%u_%u", TKT_ROOT, (unsigned int)getuid(), f = mkstemp (tf);
(unsigned int)(getpid()*time(0))); close (f);
f = open(tf, O_CREAT|O_EXCL|O_RDWR); unlink (tf);
} while(f < 0);
close(f);
unlink(tf);
setenv("KRBTKFILE", tf, 1); setenv("KRBTKFILE", tf, 1);
#endif #endif
@@ -145,6 +138,7 @@ main(int argc, char **argv)
if(k_hasafs()) if(k_hasafs())
k_setpag(); k_setpag();
unsetenv("PAGPID");
execvp(path, args); execvp(path, args);
if (errno == ENOENT) { if (errno == ENOENT) {
char **sh_args = malloc ((i + 2) * sizeof(char *)); char **sh_args = malloc ((i + 2) * sizeof(char *));