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 exited on signal %d", + WTERMSIG(retval)); + else + pam_syslog(pamh, LOG_ERR, "unix_chkpwd died unexpectedly"); + retval = PAM_AUTH_ERR; + } } } else { D(("fork failed"));