]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
examples: avoid memory leak in ex-verify
authorDaiki Ueno <ueno@gnu.org>
Mon, 15 Mar 2021 10:03:44 +0000 (11:03 +0100)
committerDaiki Ueno <ueno@gnu.org>
Mon, 15 Mar 2021 10:03:44 +0000 (11:03 +0100)
Signed-off-by: Daiki Ueno <ueno@gnu.org>
doc/examples/ex-verify.c

index 623198793b93a4f870d69cda14803d24c3673d3c..a4f6ebec9eb647666a42ecff5b0a866f55df55a1 100644 (file)
@@ -54,7 +54,7 @@ verify_certificate_chain(const char *hostname,
         CHECK(gnutls_x509_trust_list_add_crls(tlist, crl_list, crl_list_size,
                                               GNUTLS_TL_VERIFY_CRL, 0));
 
-        cert = malloc(sizeof(*cert) * cert_chain_length);
+        cert = gnutls_calloc(cert_chain_length, sizeof(*cert));
         assert(cert != NULL);
 
         /* Import all the certificates in the chain to
@@ -104,6 +104,11 @@ verify_certificate_chain(const char *hostname,
                      hostname);
         }
 
+        for (i = 0; i < cert_chain_length; i++) {
+                gnutls_x509_crt_deinit(cert[i]);
+        }
+       gnutls_free(cert);
+
         gnutls_x509_trust_list_deinit(tlist, 1);
 
         return;