diff options
author | Tomas Mraz <tm@t8m.info> | 2009-03-03 08:10:53 +0000 |
---|---|---|
committer | Tomas Mraz <tm@t8m.info> | 2009-03-03 08:10:53 +0000 |
commit | 5814c9064606215dca37b138a12822d66ca2b312 (patch) | |
tree | fc8e1b12302da1e64da24ea68255c31120461d14 /modules/pam_unix/pam_unix_passwd.c | |
parent | 42f4743cc3ca046833afcaeec01f9793d74bbfb4 (diff) | |
download | pam-5814c9064606215dca37b138a12822d66ca2b312.tar.gz pam-5814c9064606215dca37b138a12822d66ca2b312.tar.bz2 pam-5814c9064606215dca37b138a12822d66ca2b312.zip |
Relevant BUGIDs:
Purpose of commit: bugfix
Commit summary:
---------------
2009-03-03 Tomas Mraz <t8m@centrum.cz>
* modules/pam_unix/pam_unix_acct.c(_unix_run_verify_binary): Test
for abnormal exit of the helper binary.
* modules/pam_unix/pam_unix_passwd.c(_unix_run_update_binary): Likewise.
* modules/pam_unix/support.c(_unix_run_helper_binary): Likewise.
* modules/pam_mkhomedir/pam_mkhomedir.c(create_homedir): Likewise.
Diffstat (limited to 'modules/pam_unix/pam_unix_passwd.c')
-rw-r--r-- | modules/pam_unix/pam_unix_passwd.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/modules/pam_unix/pam_unix_passwd.c b/modules/pam_unix/pam_unix_passwd.c index 9386d87f..ab1adda0 100644 --- a/modules/pam_unix/pam_unix_passwd.c +++ b/modules/pam_unix/pam_unix_passwd.c @@ -227,8 +227,11 @@ static int _unix_run_update_binary(pam_handle_t *pamh, unsigned int ctrl, const rc=waitpid(child, &retval, 0); /* wait for helper to complete */ if (rc<0) { pam_syslog(pamh, LOG_ERR, "unix_update waitpid failed: %m"); - retval = PAM_AUTH_ERR; - } else { + retval = PAM_AUTHTOK_ERR; + } else if (!WIFEXITED(retval)) { + pam_syslog(pamh, LOG_ERR, "unix_update abnormal exit: %d", retval); + retval = PAM_AUTHTOK_ERR; + } else { retval = WEXITSTATUS(retval); } } else { |