From 47432b907b28f2f0ea4eb14fd744be5bcf0cdc2d Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Mon, 31 Jan 2022 15:43:20 -0600 Subject: [PATCH] krb5: Fix leak in krb5_set_config() We were leaking context->configured_default_cc_name. --- lib/krb5/context.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/lib/krb5/context.c b/lib/krb5/context.c index d1af3c7c1..4040a9835 100644 --- a/lib/krb5/context.c +++ b/lib/krb5/context.c @@ -246,10 +246,10 @@ init_context_from_config_file(krb5_context context) if (context->flags & KRB5_CTX_F_REPORT_CANONICAL_CLIENT_NAME) context->flags |= KRB5_CTX_F_CHECK_PAC; - if (context->default_cc_name) - free(context->default_cc_name); + free(context->default_cc_name); context->default_cc_name = NULL; context->default_cc_name_set = 0; + free(context->configured_default_cc_name); context->configured_default_cc_name = NULL; tmp = secure_getenv("KRB5_TRACE"); @@ -646,12 +646,9 @@ KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_context(krb5_context context) { _krb5_free_name_canon_rules(context, context->name_canon_rules); - if (context->default_cc_name) - free(context->default_cc_name); - if (context->default_cc_name_env) - free(context->default_cc_name_env); - if (context->configured_default_cc_name) - free(context->configured_default_cc_name); + free(context->default_cc_name); + free(context->default_cc_name_env); + free(context->configured_default_cc_name); free(context->etypes); free(context->cfg_etypes); free(context->etypes_des);