diff options
Diffstat (limited to 'modules/pam_mail')
-rw-r--r-- | modules/pam_mail/pam_mail.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/modules/pam_mail/pam_mail.c b/modules/pam_mail/pam_mail.c index 5eb3488b..7d43d5e0 100644 --- a/modules/pam_mail/pam_mail.c +++ b/modules/pam_mail/pam_mail.c @@ -1,8 +1,6 @@ /* pam_mail module */ /* - * $Id$ - * * Written by Andrew Morgan <morgan@linux.kernel.org> 1996/3/11 * $HOME additions by David Kinchlea <kinch@kinch.ark.com> 1997/1/7 * mailhash additions by Chris Adams <cadams@ro.com> 1998/7/11 @@ -174,6 +172,14 @@ get_folder(pam_handle_t *pamh, int ctrl, retval = PAM_BUF_ERR; if (ctrl & PAM_HOME_MAIL) { + if (pwd == NULL) { + pwd = pam_modutil_getpwnam(pamh, user); + if (pwd == NULL) { + pam_syslog(pamh, LOG_ERR, "user unknown"); + retval = PAM_USER_UNKNOWN; + goto get_folder_cleanup; + } + } if (asprintf(&folder, MAIL_FILE_FORMAT, pwd->pw_dir, "", path) < 0) goto get_folder_cleanup; } else { |