summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/pam_pwdb/pam_pwdb.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/modules/pam_pwdb/pam_pwdb.c b/modules/pam_pwdb/pam_pwdb.c
index b118ab23..31467684 100644
--- a/modules/pam_pwdb/pam_pwdb.c
+++ b/modules/pam_pwdb/pam_pwdb.c
@@ -98,11 +98,14 @@ PAM_EXTERN int pam_sm_setcred(pam_handle_t *pamh, int flags
pwdb_end();
if ( on(UNIX_LIKE_AUTH, ctrl) ) {
- int *pretval = &retval;
+ const void *pretval = NULL;
D(("recovering return code from auth call"));
- pam_get_data(pamh, "pwdb_setcred_return", (const void **) pretval);
- D(("recovered data indicates that old retval was %d", retval));
+ if ( pam_get_data(pamh, "pwdb_setcred_return", &pretval)
+ == PAM_SUCCESS ) {
+ retval = (int)(long)pretval;
+ D(("recovered data indicates that old retval was %d", retval));
+ }
}
return retval;