]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
In krb5_decode_leak.c, work around the oddity that
authorGreg Hudson <ghudson@mit.edu>
Fri, 13 Feb 2009 22:03:37 +0000 (22:03 +0000)
committerGreg Hudson <ghudson@mit.edu>
Fri, 13 Feb 2009 22:03:37 +0000 (22:03 +0000)
krb5_free_cred_enc_part is a contents-only free function.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22003 dc483132-0cff-0310-8789-dd5450dbe970

src/tests/asn.1/krb5_decode_leak.c

index 4d40eec94e2282230c53e18fbaf23cc66365784b..41045b5a811eeab71d997e65d96e8d80f65dd63a 100644 (file)
 
 krb5_context test_context;
 
+/*
+ * Contrary to our usual convention, krb5_free_cred_enc_part is a
+ * contents-only free function (and is assumed to be by mk_cred and
+ * rd_cred) and we have no whole-structure free function for that data
+ * type.  So create one here.
+ */
+static void
+free_cred_enc_part_whole(krb5_context ctx,
+                         krb5_cred_enc_part *val)
+{
+    krb5_free_cred_enc_part(ctx, val);
+    free(val);
+}
+
 int
 main(int argc, char **argv)
 {
@@ -410,7 +424,7 @@ main(int argc, char **argv)
         
         setup(cep, "cred_enc_part", ktest_make_sample_cred_enc_part);
         leak_test(cep, encode_krb5_enc_cred_part, decode_krb5_enc_cred_part,
-                  krb5_free_cred_enc_part);
+                  free_cred_enc_part_whole);
 
         ktest_destroy_principal(&(cep.ticket_info[0]->client));
         ktest_destroy_principal(&(cep.ticket_info[0]->server));
@@ -425,7 +439,7 @@ main(int argc, char **argv)
         ktest_destroy_address(&(cep.s_address));
         ktest_destroy_address(&(cep.r_address));
         leak_test(cep, encode_krb5_enc_cred_part, decode_krb5_enc_cred_part,
-                  krb5_free_cred_enc_part);
+                  free_cred_enc_part_whole);
         ktest_empty_cred_enc_part(&cep);
     }