diff --git a/crypto/cms/cms_sd.c b/crypto/cms/cms_sd.c index ac5103abf7..681ee7e348 100644 --- a/crypto/cms/cms_sd.c +++ b/crypto/cms/cms_sd.c @@ -680,7 +680,10 @@ static int cms_SignerInfo_content_sign(CMS_ContentInfo *cms, goto err; } if (EVP_PKEY_sign(pctx, sig, &siglen, md, mdlen) <= 0) + { + OPENSSL_free(sig); goto err; + } ASN1_STRING_set0(si->signature, sig, siglen); } else