From: Greg Hudson Date: Thu, 2 Jun 2016 22:21:41 +0000 (-0400) Subject: Fix test_check_allowed_to_delegate() leak for real X-Git-Tag: krb5-1.15-beta1~178 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F462%2Fhead;p=thirdparty%2Fkrb5.git Fix test_check_allowed_to_delegate() leak for real Remove the conditional return from so that sprinc and tprinc are always freed. Reported by Will Fiveash. ticket: 8426 --- diff --git a/src/plugins/kdb/test/kdb_test.c b/src/plugins/kdb/test/kdb_test.c index b752c0e093..776dda388c 100644 --- a/src/plugins/kdb/test/kdb_test.c +++ b/src/plugins/kdb/test/kdb_test.c @@ -489,17 +489,17 @@ test_check_allowed_to_delegate(krb5_context context, KRB5_PRINCIPAL_UNPARSE_NO_REALM, &tprinc)); set_names(h, "delegation", sprinc, NULL); ret = profile_get_values(h->profile, h->names, &values); - if (ret == PROF_NO_RELATION) - return KRB5KDC_ERR_POLICY; - for (v = values; *v != NULL; v++) { - if (strcmp(*v, tprinc) == 0) { - found = TRUE; - break; + if (ret != PROF_NO_RELATION) { + for (v = values; *v != NULL; v++) { + if (strcmp(*v, tprinc) == 0) { + found = TRUE; + break; + } } + profile_free_list(values); } krb5_free_unparsed_name(context, sprinc); krb5_free_unparsed_name(context, tprinc); - profile_free_list(values); return found ? 0 : KRB5KDC_ERR_POLICY; }