blob: f81f6906dd17eeb3cb27adce21815368620a65f1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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 exited on signal %d",
+ WTERMSIG(retval));
+ else
+ pam_syslog(pamh, LOG_ERR, "unix_chkpwd died unexpectedly");
+ retval = PAM_AUTH_ERR;
+ }
}
} else {
D(("fork failed"));
|