aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndre Albsmeier <mail@fbsd2.e4m.org>2024-05-27 06:31:34 +0000
committerEmmanuel Vadot <manu@FreeBSD.org>2024-05-27 06:33:14 +0000
commitcca0ce62f367d03ed429bf99e41e6aca8cb7f2ac (patch)
treec40105143ac2337a6b4701370583b3d0c0eb56cc
parentf5f40dd63bc7acbb5312b26ac1ea1103c12352a6 (diff)
downloadsrc-cca0ce62f367d03ed429bf99e41e6aca8cb7f2ac.tar.gz
src-cca0ce62f367d03ed429bf99e41e6aca8cb7f2ac.zip
pam_xdg: pam_get_item can return NULL
Fix pam_xdg as pam_get_item can return NULL, this happens when pressing control + C in xdm for example. MFC after: 1 week PR: 279268
-rw-r--r--lib/libpam/modules/pam_xdg/pam_xdg.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/libpam/modules/pam_xdg/pam_xdg.c b/lib/libpam/modules/pam_xdg/pam_xdg.c
index 4d586a21566a..2c80f0a0332f 100644
--- a/lib/libpam/modules/pam_xdg/pam_xdg.c
+++ b/lib/libpam/modules/pam_xdg/pam_xdg.c
@@ -67,7 +67,7 @@ _pam_xdg_open(pam_handle_t *pamh, int flags __unused,
/* Get user info */
rv = pam_get_item(pamh, PAM_USER, (const void **)&user);
- if (rv != PAM_SUCCESS) {
+ if (rv != PAM_SUCCESS || user == NULL) {
PAM_VERBOSE_ERROR("Can't get user information");
goto out;
}
@@ -221,7 +221,7 @@ _pam_xdg_close(pam_handle_t *pamh __unused, int flags __unused,
/* Get user info */
rv = pam_get_item(pamh, PAM_USER, (const void **)&user);
- if (rv != PAM_SUCCESS) {
+ if (rv != PAM_SUCCESS || user == NULL) {
PAM_VERBOSE_ERROR("Can't get user information");
goto out;
}