RT3917: add cleanup on an error path
authorRich Salz <rsalz@akamai.com>
Sun, 21 Jun 2015 19:37:53 +0000 (15:37 -0400)
committerRich Salz <rsalz@openssl.org>
Sun, 21 Jun 2015 21:55:06 +0000 (17:55 -0400)
Reviewed-by: Richard Levitte <levitte@openssl.org>
(cherry picked from commit 7fba8407cc72e09dbd8d768100617286b0740b03)

crypto/cms/cms_smime.c

index b39ed489989f4ea3c91c0f964269410077dec400..5522a376acb6ecc624e5217e46bd07871798557e 100644 (file)
@@ -374,7 +374,7 @@ int CMS_verify(CMS_ContentInfo *cms, STACK_OF(X509) *certs,
         tmpin = BIO_new_mem_buf(ptr, len);
         if (tmpin == NULL) {
             CMSerr(CMS_F_CMS_VERIFY, ERR_R_MALLOC_FAILURE);
-            return 0;
+            goto err2;
         }
     } else
         tmpin = dcont;
@@ -405,6 +405,7 @@ int CMS_verify(CMS_ContentInfo *cms, STACK_OF(X509) *certs,
     else
         BIO_free_all(cmsbio);
 
+ err2:
     if (cms_certs)
         sk_X509_pop_free(cms_certs, X509_free);
     if (crls)