krb5 commit: Fix leak on krb5 gss_accept_sec_context() failure

ghudson at mit.edu ghudson at mit.edu
Mon Nov 9 11:59:56 EST 2026


https://github.com/krb5/krb5/commit/2eaa2f0334808bf491fcaab005586bf1da29cf83
commit 2eaa2f0334808bf491fcaab005586bf1da29cf83
Author: Greg Hudson <ghudson at mit.edu>
Date:   Thu Oct 22 19:31:01 2026 -0400

    Fix leak on krb5 gss_accept_sec_context() failure
    
    In kg_accept_krb5(), properly release deleg_cred when cleaning up
    after a failure.  Reported by Moritz Theile.
    
    ticket: 9269 (new)
    tags: pullup
    target_version: 1.22-next

 src/lib/gssapi/krb5/accept_sec_context.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/src/lib/gssapi/krb5/accept_sec_context.c b/src/lib/gssapi/krb5/accept_sec_context.c
index 3a7fb4e89..68e571c72 100644
--- a/src/lib/gssapi/krb5/accept_sec_context.c
+++ b/src/lib/gssapi/krb5/accept_sec_context.c
@@ -1161,13 +1161,7 @@ fail:
     if (ctx)
         (void) krb5_gss_delete_sec_context(&tmp_minor_status,
                                            (gss_ctx_id_t *) &ctx, NULL);
-    if (deleg_cred) { /* free memory associated with the deleg credential */
-        if (deleg_cred->ccache)
-            (void)krb5_cc_close(context, deleg_cred->ccache);
-        if (deleg_cred->name)
-            kg_release_name(context, &deleg_cred->name);
-        xfree(deleg_cred);
-    }
+    (void) kg_release_cred(context, deleg_cred);
     if (token.value)
         xfree(token.value);
     if (name) {


More information about the cvs-krb5 mailing list