diff options
Diffstat (limited to 'debian/patches-applied/pam_unix-chkpwd-wait')
-rw-r--r-- | debian/patches-applied/pam_unix-chkpwd-wait | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/debian/patches-applied/pam_unix-chkpwd-wait b/debian/patches-applied/pam_unix-chkpwd-wait new file mode 100644 index 00000000..306b2e29 --- /dev/null +++ b/debian/patches-applied/pam_unix-chkpwd-wait @@ -0,0 +1,22 @@ +Index: pam.deb/modules/pam_unix/support.c +=================================================================== +--- pam.deb.orig/modules/pam_unix/support.c ++++ pam.deb/modules/pam_unix/support.c +@@ -504,7 +504,16 @@ + pam_syslog(pamh, LOG_ERR, "unix_chkpwd waitpid returned %d: %m", rc); + retval = PAM_AUTH_ERR; + } else { +- retval = WEXITSTATUS(retval); ++ if (WIFEXITED(retval)) ++ retval = WEXITSTATUS(retval); ++ else { ++ if (WIFSIGNALED(retval)) ++ pam_syslog(pamh, LOG_ERR, "unix_chkpwd got signal %d", ++ WTERMSIG(retval)); ++ else ++ pam_syslog(pamh, LOG_ERR, "unix_chkpwd died unexpectedly"); ++ retval = PAM_AUTH_ERR; ++ } + } + } else { + D(("fork failed")); |