Fix PKCS7 memory leak
authorMatt Caswell <matt@openssl.org>
Mon, 18 Apr 2016 09:35:34 +0000 (10:35 +0100)
committerMatt Caswell <matt@openssl.org>
Mon, 18 Apr 2016 13:59:23 +0000 (14:59 +0100)
Commit f0e0fd51f was a bit over-zealous in removing a call to
X509_STORE_CTX_cleanup(). The call in question was in a loop and was
required to cleanup resources used on each iteration of the loop. Removing
this resulted in a memory leak.

Reviewed-by: Richard Levitte <levitte@openssl.org>
crypto/pkcs7/pk7_smime.c

index b146f6813733ec465b1f60a6ad522d4a46c30f56..7c2d5c9895cd4e0628c8bf48bc1bb0901e178c28 100644 (file)
@@ -328,6 +328,7 @@ int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store,
             i = X509_verify_cert(cert_ctx);
             if (i <= 0)
                 j = X509_STORE_CTX_get_error(cert_ctx);
+            X509_STORE_CTX_cleanup(cert_ctx);
             if (i <= 0) {
                 PKCS7err(PKCS7_F_PKCS7_VERIFY,
                          PKCS7_R_CERTIFICATE_VERIFY_ERROR);