From 21c390ccd1b4f7bc962c16549df929ad518a1d37 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 24 Jun 2011 22:55:39 +0200 Subject: logind: properly handle if two session with identical loginuids are attempted to be created --- src/pam-module.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/pam-module.c') diff --git a/src/pam-module.c b/src/pam-module.c index dc7c00166e..eba59f65f2 100644 --- a/src/pam-module.c +++ b/src/pam-module.c @@ -457,10 +457,12 @@ _public_ PAM_EXTERN int pam_sm_open_session( goto finish; } - r = pam_set_data(handle, "systemd.session-fd", INT_TO_PTR(session_fd+1), NULL); - if (r != PAM_SUCCESS) { - pam_syslog(handle, LOG_ERR, "Failed to install session fd."); - return r; + if (session_fd >= 0) { + r = pam_set_data(handle, "systemd.session-fd", INT_TO_PTR(session_fd+1), NULL); + if (r != PAM_SUCCESS) { + pam_syslog(handle, LOG_ERR, "Failed to install session fd."); + return r; + } } session_fd = -1; -- cgit v1.2.3-54-g00ecf