]> granicus.if.org Git - sudo/commitdiff
If pam_open_session() fails, pass its status to pam_end.
authorTodd C. Miller <Todd.Miller@courtesan.com>
Tue, 8 Jun 2010 20:54:04 +0000 (16:54 -0400)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Tue, 8 Jun 2010 20:54:04 +0000 (16:54 -0400)
plugins/sudoers/auth/pam.c

index ddbd46aa2ca9ba1ea131b2dbca92a02d263fb84e..a6104143965a00fa6271e18936dbef45ecb8e557 100644 (file)
@@ -241,7 +241,7 @@ pam_begin_session(pw, auth)
 #ifndef NO_PAM_SESSION
     status = pam_open_session(pamh, 0);
     if (status != PAM_SUCCESS) {
-       (void) pam_end(pamh, PAM_SUCCESS | PAM_DATA_SILENT);
+       (void) pam_end(pamh, status | PAM_DATA_SILENT);
        pamh = NULL;
     }
 #endif