Fix a mem leak in CMS
[openssl.git] / crypto / cms / cms_smime.c
index 7e7b6e5d4f79644c9c0b56887a6c29cae53748c8..76883bfb9bb0d895eb5136a92f943c05e8b78081 100644 (file)
@@ -631,6 +631,7 @@ int CMS_decrypt_set1_pkey(CMS_ContentInfo *cms, EVP_PKEY *pk, X509 *cert)
          * all.
          */
         else if (!cert || !CMS_RecipientInfo_ktri_cert_cmp(ri, cert)) {
+            EVP_PKEY_up_ref(pk);
             CMS_RecipientInfo_set0_pkey(ri, pk);
             r = CMS_RecipientInfo_decrypt(cms, ri);
             CMS_RecipientInfo_set0_pkey(ri, NULL);