Fix memory leaks in sam and ldap handler testing - there is still a leak w/ ldap
authorEzra Peisach <epeisach@mit.edu>
Tue, 16 Dec 2008 20:15:46 +0000 (20:15 +0000)
committerEzra Peisach <epeisach@mit.edu>
Tue, 16 Dec 2008 20:15:46 +0000 (20:15 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21479 dc483132-0cff-0310-8789-dd5450dbe970

src/tests/asn.1/krb5_decode_test.c
src/tests/asn.1/krb5_encode_test.c
src/tests/asn.1/ktest.c
src/tests/asn.1/ktest.h

index 7111a7ece7e32473daffb0cae78c11986f82567f..4afc273c27e975dba400cb220f98c24afe52ac0e 100644 (file)
@@ -881,7 +881,9 @@ int main(argc, argv)
        setup(ldap_seqof_key_data,"ldap_seqof_key_data",
              ktest_make_sample_ldap_seqof_key_data);
        decode_run("ldap_seqof_key_data","","30 81 87 A0 03 02 01 01 A1 03 02 01 01 A2 03 02 01 2A A3 03 02 01 0E A4 71 30 6F 30 23 A0 10 30 0E A0 03 02 01 00 A1 07 04 05 73 61 6C 74 30 A1 0F 30 0D A0 03 02 01 02 A1 06 04 04 6B 65 79 30 30 23 A0 10 30 0E A0 03 02 01 01 A1 07 04 05 73 61 6C 74 31 A1 0F 30 0D A0 03 02 01 02 A1 06 04 04 6B 65 79 31 30 23 A0 10 30 0E A0 03 02 01 02 A1 07 04 05 73 61 6C 74 32 A1 0F 30 0D A0 03 02 01 02 A1 06 04 04 6B 65 79 32",acc.asn1_ldap_decode_sequence_of_keys,ktest_equal_ldap_sequence_of_keys,ktest_empty_ldap_seqof_key_data);
+       ktest_empty_ldap_seqof_key_data(test_context, &ref);
     }
+
 #endif
 
     krb5_free_context(test_context);
index ed056703ca995ad2a9c0ea829573cc08dc2d3dc5..2da5c1e7f707e51f3219a6d0d533392c0f9744f2 100644 (file)
@@ -662,6 +662,7 @@ main(argc, argv)
              ktest_make_sample_enc_sam_response_enc);
        encode_run(sam_ch,krb5_enc_sam_response_enc,"enc_sam_response_enc","",
                   encode_krb5_enc_sam_response_enc);
+       ktest_empty_enc_sam_response_enc(&sam_ch);
     }
     /****************************************************************/
     /* encode_krb5_predicted_sam_response */
@@ -671,6 +672,7 @@ main(argc, argv)
              ktest_make_sample_predicted_sam_response);
        encode_run(sam_ch,krb5_predicted_sam_response,"predicted_sam_response","",
                   encode_krb5_predicted_sam_response);
+       ktest_empty_predicted_sam_response(&sam_ch);
     }
   /****************************************************************/
   /* encode_krb5_sam_response_2 */
index 3418f2c49e1b2e5c349f7b72942efa3e8b37596b..5951b6c7eb99e1cd5f44595de4cb70634b7b130c 100644 (file)
@@ -1394,13 +1394,30 @@ void ktest_empty_sam_key(p)
        free(p->sam_key.contents);
 }
 
+void ktest_empty_predicted_sam_response(p)
+    krb5_predicted_sam_response *p;
+{
+    ktest_empty_keyblock(&p->sam_key);
+    ktest_destroy_principal(&p->client);
+    ktest_empty_data(&p->msd);
+}
+
+void ktest_empty_enc_sam_response_enc(p)
+    krb5_enc_sam_response_enc *p;
+{
+  ktest_empty_data(&p->sam_sad);
+}
+
 void ktest_empty_sam_response_2(p)
     krb5_sam_response_2 *p;
 {
+  ktest_empty_data(&p->sam_track_id);
+  ktest_empty_data(&p->sam_enc_nonce_or_sad.ciphertext);
 }
 void ktest_empty_enc_sam_response_enc_2(p)
     krb5_enc_sam_response_enc_2 *p;
 {
+  ktest_empty_data(&p->sam_sad);
 }
 
 #ifdef ENABLE_LDAP
@@ -1413,5 +1430,6 @@ void ktest_empty_ldap_seqof_key_data(ctx, p)
        free(p->key_data[i].key_data_contents[0]);
        free(p->key_data[i].key_data_contents[1]);
     }
+    free(p->key_data);
 }
 #endif
index b69481fc5f69c817a3a9da4c8a3305edb4cb2897..af7c9acc8c366afb9b89303242861ba0c64666ed 100644 (file)
@@ -210,6 +210,8 @@ void ktest_empty_sam_challenge
 void ktest_empty_sam_response
        (krb5_sam_response * p);
 void ktest_empty_sam_key(krb5_sam_key *p);
+void ktest_empty_enc_sam_response_enc(krb5_enc_sam_response_enc *p);
+void ktest_empty_predicted_sam_response(krb5_predicted_sam_response *p);
 void ktest_empty_sam_response_2(krb5_sam_response_2 *p);
 void ktest_empty_enc_sam_response_enc_2(krb5_enc_sam_response_enc_2 *p);