summaryrefslogtreecommitdiffstats
path: root/src/tests/asn.1
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2009-02-13 22:03:37 +0000
committerGreg Hudson <ghudson@mit.edu>2009-02-13 22:03:37 +0000
commit1b4987d8f3d988b34c2d7f5fa9f5ac1ce3083d32 (patch)
tree350d85152b542e8d6eb8da80d936e46f87748216 /src/tests/asn.1
parentbda7d8c59b58d59abf70bbb12a67978a11d1e6c5 (diff)
downloadkrb5-1b4987d8f3d988b34c2d7f5fa9f5ac1ce3083d32.tar.gz
krb5-1b4987d8f3d988b34c2d7f5fa9f5ac1ce3083d32.tar.xz
krb5-1b4987d8f3d988b34c2d7f5fa9f5ac1ce3083d32.zip
In krb5_decode_leak.c, work around the oddity that
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
Diffstat (limited to 'src/tests/asn.1')
-rw-r--r--src/tests/asn.1/krb5_decode_leak.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/tests/asn.1/krb5_decode_leak.c b/src/tests/asn.1/krb5_decode_leak.c
index 4d40eec94e..41045b5a81 100644
--- a/src/tests/asn.1/krb5_decode_leak.c
+++ b/src/tests/asn.1/krb5_decode_leak.c
@@ -22,6 +22,20 @@
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);
}