diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | auth.c | 6 |
2 files changed, 3 insertions, 6 deletions
@@ -2,6 +2,7 @@ | |||
2 | - (djm) Enable /etc/nologin check on PAM systems, as some lack the | 2 | - (djm) Enable /etc/nologin check on PAM systems, as some lack the |
3 | pam_nologin module. Report from William Yodlowsky | 3 | pam_nologin module. Report from William Yodlowsky |
4 | <bsd@openbsd.rutgers.edu> | 4 | <bsd@openbsd.rutgers.edu> |
5 | - (djm) Revert dirname fix, a better one is on its way. | ||
5 | 6 | ||
6 | 20010711 | 7 | 20010711 |
7 | - (djm) dirname(3) may modify its argument on glibc and other systems. | 8 | - (djm) dirname(3) may modify its argument on glibc and other systems. |
@@ -5977,4 +5978,4 @@ | |||
5977 | - Wrote replacements for strlcpy and mkdtemp | 5978 | - Wrote replacements for strlcpy and mkdtemp |
5978 | - Released 1.0pre1 | 5979 | - Released 1.0pre1 |
5979 | 5980 | ||
5980 | $Id: ChangeLog,v 1.1385 2001/07/14 01:54:05 djm Exp $ | 5981 | $Id: ChangeLog,v 1.1386 2001/07/14 01:55:15 djm Exp $ |
@@ -368,11 +368,7 @@ secure_filename(FILE *f, const char *file, struct passwd *pw, | |||
368 | char *cp; | 368 | char *cp; |
369 | struct stat st; | 369 | struct stat st; |
370 | 370 | ||
371 | strlcpy(homedir, pw->pw_dir, sizeof(homedir)); | 371 | strlcpy(homedir, dirname(pw->pw_dir), sizeof(homedir)); |
372 | if ((cp = dirname(homedir)) == NULL) | ||
373 | strlcpy(homedir, "/", sizeof(homedir)); | ||
374 | else | ||
375 | memmove(homedir, cp, strlen(cp)); | ||
376 | 372 | ||
377 | if (realpath(file, buf) == NULL) { | 373 | if (realpath(file, buf) == NULL) { |
378 | snprintf(err, errlen, "realpath %s failed: %s", file, | 374 | snprintf(err, errlen, "realpath %s failed: %s", file, |