]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
When requested gnutls_x509_trust_list_deinit() will deinitialized all certs (includin...
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Wed, 12 Sep 2012 21:03:32 +0000 (23:03 +0200)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Wed, 12 Sep 2012 21:03:32 +0000 (23:03 +0200)
lib/x509/verify-high.c
tests/x509cert-tl.c

index 4ecab5b66ffc85ca825f5b82b9e33be7cc0ecb93..0c299b120eb319a623934e21ff8be4ce04c54efc 100644 (file)
@@ -128,6 +128,11 @@ gnutls_x509_trust_list_deinit(gnutls_x509_trust_list_t list,
                 gnutls_x509_crl_deinit(list->node[i].crls[j]);
             }
         gnutls_free(list->node[i].crls);
+
+        if (all)
+            for (j = 0; j < list->node[i].named_cert_size; j++) {
+                gnutls_x509_crt_deinit(list->node[i].named_certs[j].cert);
+            }
         gnutls_free(list->node[i].named_certs);
     }
 
index 0c432723efcb064404b65028e7d9306171094364..c2ff767ee9cb83fc772f524600fab27fc8c889c8 100644 (file)
@@ -255,9 +255,7 @@ doit (void)
   if (ret < 1)
     fail("gnutls_x509_trust_list_add_trust_mem: %d\n", __LINE__);
 
-  gnutls_x509_crt_deinit(ca_crt);
-  gnutls_x509_crt_deinit(server_crt);
-  gnutls_x509_trust_list_deinit(tl, 0);
+  gnutls_x509_trust_list_deinit(tl, 1);
   
   gnutls_global_deinit();