diff options
Diffstat (limited to 'src/home')
-rw-r--r-- | src/home/pam_systemd_home.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/home/pam_systemd_home.c b/src/home/pam_systemd_home.c index 8a7bfc5837..e28c95f787 100644 --- a/src/home/pam_systemd_home.c +++ b/src/home/pam_systemd_home.c @@ -727,7 +727,7 @@ _public_ PAM_EXTERN int pam_sm_open_session( r = acquire_home(handle, /* please_authenticate = */ false, suspend_please, debug); if (r == PAM_USER_UNKNOWN) /* Not managed by us? Don't complain. */ - return PAM_SUCCESS; + goto success; /* Need to free the bus resource, as acquire_home() takes a reference. */ if (r != PAM_SUCCESS) return r; @@ -741,6 +741,7 @@ _public_ PAM_EXTERN int pam_sm_open_session( return pam_syslog_pam_error(handle, LOG_ERR, r, "Failed to set PAM environment variable $SYSTEMD_HOME_SUSPEND: @PAMERR@"); +success: /* Let's release the D-Bus connection, after all the session might live quite a long time, and we are * not going to process the bus connection in that time, so let's better close before the daemon * kicks us off because we are not processing anything. */ |