]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Fix memory leak in test KDB module 908/head
authorGreg Hudson <ghudson@mit.edu>
Tue, 19 Mar 2019 16:22:33 +0000 (12:22 -0400)
committerGreg Hudson <ghudson@mit.edu>
Wed, 20 Mar 2019 15:42:21 +0000 (11:42 -0400)
test_get_s4u_x509_principal() needs to free canon before exiting.

src/plugins/kdb/test/kdb_test.c

index 8118e6640603961b132319ca75147b62b7f3bc75..690c025d8f7cf6ef09b2164a94dec267ebe31493 100644 (file)
@@ -463,6 +463,7 @@ test_get_s4u_x509_principal(krb5_context context, const krb5_data *client_cert,
         krb5_principal_compare(context, princ, (*entry)->princ))
         return 0;
 
+    match = FALSE;
     check(krb5_unparse_name_flags(context, princ,
                                   KRB5_PRINCIPAL_UNPARSE_NO_REALM,
                                   &princ_name));
@@ -474,11 +475,10 @@ test_get_s4u_x509_principal(krb5_context context, const krb5_data *client_cert,
         check(krb5_parse_name(context, canon, &canon_princ));
         match = krb5_principal_compare(context, canon_princ, (*entry)->princ);
         krb5_free_principal(context, canon_princ);
-        if (match)
-            return 0;
     }
 
-    return KRB5KDC_ERR_CLIENT_NAME_MISMATCH;
+    free(canon);
+    return match ? 0 : KRB5KDC_ERR_CLIENT_NAME_MISMATCH;
 }
 
 static krb5_error_code