diff options
Diffstat (limited to 'login-utils/su-common.c')
-rw-r--r-- | login-utils/su-common.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/login-utils/su-common.c b/login-utils/su-common.c index 9bc0231..3dda84e 100644 --- a/login-utils/su-common.c +++ b/login-utils/su-common.c @@ -447,9 +447,10 @@ static void supam_open_session(struct su_context *su) rc = pam_open_session(su->pamh, 0); if (is_pam_failure(rc)) { + const char *msg = pam_strerror(su->pamh, rc); + supam_cleanup(su, rc); - errx(EXIT_FAILURE, _("cannot open session: %s"), - pam_strerror(su->pamh, rc)); + errx(EXIT_FAILURE, _("cannot open session: %s"), msg); } else su->pam_has_session = 1; } |