From 36c62d04e3ba798dbfcf01a7892f31d5fe1a8646 Mon Sep 17 00:00:00 2001 From: Thorsten Kukuk Date: Tue, 26 Jul 2005 06:40:44 +0000 Subject: Relevant BUGIDs: mailing list Purpose of commit: bugfix Commit summary: --------------- Don't ignore return values of pam_get_item --- modules/pam_unix/pam_unix_auth.c | 4 ++-- modules/pam_unix/support.c | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) (limited to 'modules') diff --git a/modules/pam_unix/pam_unix_auth.c b/modules/pam_unix/pam_unix_auth.c index 23eba7e6..38e78152 100644 --- a/modules/pam_unix/pam_unix_auth.c +++ b/modules/pam_unix/pam_unix_auth.c @@ -207,8 +207,8 @@ PAM_EXTERN int pam_sm_setcred(pam_handle_t * pamh, int flags D(("recovering return code from auth call")); /* We will only find something here if UNIX_LIKE_AUTH is set -- don't worry about an explicit check of argv. */ - pam_get_data(pamh, "unix_setcred_return", &pretval); - if(pretval) { + if (pam_get_data(pamh, "unix_setcred_return", &pretval) == PAM_SUCCESS + && pretval) { retval = *(const int *)pretval; pam_set_data(pamh, "unix_setcred_return", NULL, NULL); D(("recovered data indicates that old retval was %d", retval)); diff --git a/modules/pam_unix/support.c b/modules/pam_unix/support.c index f399189d..bb75298c 100644 --- a/modules/pam_unix/support.c +++ b/modules/pam_unix/support.c @@ -816,8 +816,11 @@ int _unix_verify_password(pam_handle_t * pamh, const char *name new->name = x_strdup(login_name); /* any previous failures for this user ? */ - pam_get_data(pamh, data_name, &void_old); - old = void_old; + if (pam_get_data(pamh, data_name, &void_old) + == PAM_SUCCESS) + old = void_old; + else + old = NULL; if (old != NULL) { new->count = old->count + 1; -- cgit v1.2.3