(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:
@@ -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 *));
|
||||||
|
Reference in New Issue
Block a user