From: Karel Zak Date: Tue, 30 Apr 2024 08:51:50 +0000 (+0200) Subject: suL fix use after free on error X-Git-Tag: v2.42-start~362 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3b01374845f8bbe29ef945b866f679555b28cd38;p=thirdparty%2Futil-linux.git suL fix use after free on error Signed-off-by: Karel Zak --- diff --git a/login-utils/su-common.c b/login-utils/su-common.c index 9bc023196..3dda84e53 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; }