diff options
author | Thorsten Kukuk <kukuk@thkukuk.de> | 2005-07-26 06:40:44 +0000 |
---|---|---|
committer | Thorsten Kukuk <kukuk@thkukuk.de> | 2005-07-26 06:40:44 +0000 |
commit | 36c62d04e3ba798dbfcf01a7892f31d5fe1a8646 (patch) | |
tree | 863e1544bd0f51c8533857dc6295a07df072e360 | |
parent | db615c19519745fcff13d3fc8b27c582130bb464 (diff) | |
download | pam-36c62d04e3ba798dbfcf01a7892f31d5fe1a8646.tar.gz pam-36c62d04e3ba798dbfcf01a7892f31d5fe1a8646.tar.bz2 pam-36c62d04e3ba798dbfcf01a7892f31d5fe1a8646.zip |
Relevant BUGIDs: mailing list
Purpose of commit: bugfix
Commit summary:
---------------
Don't ignore return values of pam_get_item
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | modules/pam_unix/pam_unix_auth.c | 4 | ||||
-rw-r--r-- | modules/pam_unix/support.c | 7 |
3 files changed, 8 insertions, 4 deletions
@@ -70,6 +70,7 @@ BerliOS Bugs are marked with (BerliOS #XXXX). * configure.in/_pam_aconf.h.in: Remove feature.h inclusion (kukuk) * defs: Remove obsolete directory/content (kukuk) * Rename _pam_aconf.h.in to config.h (kukuk) +* pam_unix: Don't ignore pam_get_item return value (kukuk) 0.80: Wed Jul 13 13:23:20 CEST 2005 * pam_tally: test for NULL data before dereferencing them (t8m) 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; |