From 8ea293e426c20216110bd39b7225be1aedcd9920 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Sun, 22 Oct 2006 07:11:43 +0000 Subject: [PATCH] Try to not leak memory. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@18809 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/test_cc.c | 1 + lib/krb5/test_crypto_wrapping.c | 1 + lib/krb5/test_keytab.c | 3 ++- lib/krb5/test_pkinit_dh2key.c | 2 ++ lib/krb5/test_princ.c | 37 +++++++++++++-------------------- lib/krb5/test_time.c | 2 ++ 6 files changed, 23 insertions(+), 23 deletions(-) diff --git a/lib/krb5/test_cc.c b/lib/krb5/test_cc.c index 135694da8..d86ea8b09 100644 --- a/lib/krb5/test_cc.c +++ b/lib/krb5/test_cc.c @@ -337,6 +337,7 @@ test_cache_find(krb5_context context, const char *type, const char *principal, if (id) krb5_cc_close(context, id); + krb5_free_principal(context, client); } diff --git a/lib/krb5/test_crypto_wrapping.c b/lib/krb5/test_crypto_wrapping.c index 7d85c86dd..9a80c72ae 100644 --- a/lib/krb5/test_crypto_wrapping.c +++ b/lib/krb5/test_crypto_wrapping.c @@ -89,6 +89,7 @@ test_wrapping(krb5_context context, krb5_data_free(&data); } + free(etype_name); free(buf); krb5_crypto_destroy(context, crypto); krb5_free_keyblock_contents(context, &key); diff --git a/lib/krb5/test_keytab.c b/lib/krb5/test_keytab.c index 5b77f42a0..883898192 100644 --- a/lib/krb5/test_keytab.c +++ b/lib/krb5/test_keytab.c @@ -163,7 +163,8 @@ test_memory_keytab(krb5_context context, const char *keytab, const char *keytab2 if (ret) krb5_err(context, 1, ret, "krb5_kt_close"); - + krb5_free_principal(context, entry3.principal); + krb5_free_keyblock_contents(context, &entry3.keyblock); } int diff --git a/lib/krb5/test_pkinit_dh2key.c b/lib/krb5/test_pkinit_dh2key.c index 587b3fd00..c971595da 100644 --- a/lib/krb5/test_pkinit_dh2key.c +++ b/lib/krb5/test_pkinit_dh2key.c @@ -60,6 +60,8 @@ test_dh2key(int i, if (key.keyvalue.length != result->length || memcmp(key.keyvalue.data, result->data, result->length) != 0) krb5_errx(context, 1, "resulting key wrong: %d", i); + + krb5_free_keyblock_contents(context, &key); } diff --git a/lib/krb5/test_princ.c b/lib/krb5/test_princ.c index 57a197979..9a1b54160 100644 --- a/lib/krb5/test_princ.c +++ b/lib/krb5/test_princ.c @@ -72,15 +72,16 @@ test_princ(krb5_context context) if (ret) krb5_err(context, 1, ret, "krb5_parse_name"); - if (strcmp(princ_short, princ_unparsed)) { + if (strcmp(princ_short, princ_unparsed)) krb5_errx(context, 1, "%s != %s", princ_short, princ_unparsed); - } + free(princ_unparsed); realm = krb5_principal_get_realm(context, p); asprintf(&princ_reformed, "%s@%s", princ_short, realm); ret = krb5_parse_name(context, princ_reformed, &p2); + free(princ_reformed); if (ret) krb5_err(context, 1, ret, "krb5_parse_name"); @@ -100,27 +101,25 @@ test_princ(krb5_context context) if (ret) krb5_err(context, 1, ret, "krb5_parse_name"); - if (strcmp(princ_short, princ_unparsed)) { + if (strcmp(princ_short, princ_unparsed)) krb5_errx(context, 1, "'%s' != '%s'", princ_short, princ_unparsed); - } - free(princ_unparsed); ret = krb5_parse_name(context, princ_short, &p2); if (ret) krb5_err(context, 1, ret, "krb5_parse_name"); - if (!krb5_principal_compare(context, p, p2)) { + if (!krb5_principal_compare(context, p, p2)) krb5_errx(context, 1, "p != p2"); - } + krb5_free_principal(context, p2); ret = krb5_unparse_name(context, p, &princ_unparsed); if (ret) krb5_err(context, 1, ret, "krb5_parse_name"); - if (strcmp(princ, princ_unparsed)) { + if (strcmp(princ, princ_unparsed)) krb5_errx(context, 1, "'%s' != '%s'", princ, princ_unparsed); - } + free(princ_unparsed); ret = krb5_set_default_realm(context, "SAMBA.ORG"); if (ret) @@ -130,21 +129,19 @@ test_princ(krb5_context context) if (ret) krb5_err(context, 1, ret, "krb5_parse_name"); - if (krb5_principal_compare(context, p, p2)) { + if (krb5_principal_compare(context, p, p2)) krb5_errx(context, 1, "p == p2"); - } - if (!krb5_principal_compare_any_realm(context, p, p2)) { + if (!krb5_principal_compare_any_realm(context, p, p2)) krb5_errx(context, 1, "(ignoring realms) p != p2"); - } ret = krb5_unparse_name(context, p2, &princ_unparsed); if (ret) krb5_err(context, 1, ret, "krb5_parse_name"); - if (strcmp(princ, princ_unparsed) == 0) { + if (strcmp(princ, princ_unparsed) == 0) krb5_errx(context, 1, "%s == %s", princ, princ_unparsed); - } + free(princ_unparsed); krb5_free_principal(context, p2); @@ -159,9 +156,9 @@ test_princ(krb5_context context) if (ret) krb5_err(context, 1, ret, "krb5_parse_name"); - if (strcmp(princ, princ_unparsed)) { + if (strcmp(princ, princ_unparsed)) krb5_errx(context, 1, "'%s' != '%s'", princ, princ_unparsed); - } + free(princ_unparsed); krb5_free_principal(context, p2); @@ -173,7 +170,6 @@ test_princ(krb5_context context) if (strcmp(princ, princ_unparsed) != 0) krb5_errx(context, 1, "'%s' != '%s'", princ, princ_unparsed); - free(princ_unparsed); ret = krb5_unparse_name(context, p, &princ_unparsed); @@ -182,7 +178,6 @@ test_princ(krb5_context context) if (strcmp(princ, princ_unparsed)) krb5_errx(context, 1, "'%s' != '%s'", princ, princ_unparsed); - free(princ_unparsed); ret = krb5_parse_name_flags(context, princ, @@ -204,9 +199,8 @@ test_princ(krb5_context context) if (ret) krb5_err(context, 1, ret, "krb5_unparse_name_norealm"); - if (strcmp(princ_short, princ_unparsed)) { + if (strcmp(princ_short, princ_unparsed)) krb5_errx(context, 1, "'%s' != '%s'", princ_short, princ_unparsed); - } free(princ_unparsed); ret = krb5_parse_name_flags(context, princ_short, @@ -233,7 +227,6 @@ test_princ(krb5_context context) if (strcmp(princ_short, princ_unparsed)) krb5_errx(context, 1, "'%s' != '%s'", princ_short, princ_unparsed); - free(princ_unparsed); krb5_free_principal(context, p); diff --git a/lib/krb5/test_time.c b/lib/krb5/test_time.c index b33f3fd1e..6804d363d 100644 --- a/lib/krb5/test_time.c +++ b/lib/krb5/test_time.c @@ -81,5 +81,7 @@ main(int argc, char **argv) check_set_time(context); check_set_time(context); + krb5_free_context(context); + return 0; }