=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/sudo/Attic/sudo_edit.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- src/usr.bin/sudo/Attic/sudo_edit.c 2004/09/28 15:10:51 1.1 +++ src/usr.bin/sudo/Attic/sudo_edit.c 2004/11/17 18:14:06 1.2 @@ -73,7 +73,7 @@ const char *tmpdir; char **nargv, **ap, *editor, *cp; char buf[BUFSIZ]; - int i, ac, ofd, tfd, nargc, rval; + int i, ac, ofd, tfd, nargc, rval, tmplen; sigaction_t sa; struct stat sb; struct timespec ts1, ts2; @@ -95,6 +95,9 @@ #endif else tmpdir = _PATH_TMP; + tmplen = strlen(tmpdir); + while (tmplen > 0 && tmpdir[tmplen - 1] == '/') + tmplen--; /* * For each file specified by the user, make a temporary version @@ -141,7 +144,7 @@ cp++; else cp = tf[i].ofile; - easprintf(&tf[i].tfile, "%s%s.XXXXXXXX", tmpdir, cp); + easprintf(&tf[i].tfile, "%.*s/%s.XXXXXXXX", tmplen, tmpdir, cp); set_perms(PERM_USER); tfd = mkstemp(tf[i].tfile); set_perms(PERM_ROOT);