summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Mraz <tmraz@fedoraproject.org>2011-06-02 21:55:41 +0200
committerTomas Mraz <tmraz@fedoraproject.org>2011-06-02 21:55:41 +0200
commit26747b9b490d190dd20543ea9cbde082ae667402 (patch)
tree685f9db583b3428a0d098e2c5acacfb3847f7e14
parent48590abce86b34e55c84f71424449f16d285eaf2 (diff)
Guard for pam_get_user() error in pam_filter module.
-rw-r--r--ChangeLog3
-rw-r--r--modules/pam_filter/pam_filter.c4
2 files changed, 5 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 7af2a869..90bb7c06 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -13,6 +13,9 @@
on NULL strings.
(password_check): Guard for NULLs returned from memory allocation.
+ * modules/pam_filter/pam_filter.c (process_args): Guard for error return
+ from pam_get_user().
+
2011-05-30 Thorsten Kukuk <kukuk@thkukuk.de>
* modules/pam_timestamp/pam_timestamp.c (main): Remove unsused
diff --git a/modules/pam_filter/pam_filter.c b/modules/pam_filter/pam_filter.c
index 2f290fd5..da98148f 100644
--- a/modules/pam_filter/pam_filter.c
+++ b/modules/pam_filter/pam_filter.c
@@ -177,8 +177,8 @@ static int process_args(pam_handle_t *pamh
#define USER_OFFSET 5 /* strlen('USER='); */
#define USER_NAME "USER="
- pam_get_user(pamh, &user, NULL);
- if (user == NULL) {
+ if (pam_get_user(pamh, &user, NULL) != PAM_SUCCESS ||
+ user == NULL) {
user = "<unknown>";
}
size = USER_OFFSET+strlen(user);