summaryrefslogtreecommitdiffstats
path: root/login-utils/su-common.c
diff options
context:
space:
mode:
Diffstat (limited to 'login-utils/su-common.c')
-rw-r--r--login-utils/su-common.c5
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;
}