From b697c858ecd08ad6c2e0dcdb624b26a878c27856 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Tue, 26 Jul 2005 08:12:01 +0000 Subject: Relevant BUGIDs: Purpose of commit: bugfix Commit summary: --------------- sizeof(int) != sizeof(void *) on 64bit machines --- modules/pam_pwdb/pam_pwdb.c | 9 ++++++--- 1 file 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; -- cgit v1.2.3