X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Fcms%2Fcms_sd.c;h=681ee7e34803eff8a5bc7ca52e478d85852478c8;hb=c18440956dd4a756e778b05d6ceadc27bd034edb;hp=e8b2e1f889dcb5f2dc2f5e7cb37d9b7611e1e96a;hpb=da15c6160836f5852ff1d1132d76f124327121ba;p=oweals%2Fopenssl.git diff --git a/crypto/cms/cms_sd.c b/crypto/cms/cms_sd.c index e8b2e1f889..681ee7e348 100644 --- a/crypto/cms/cms_sd.c +++ b/crypto/cms/cms_sd.c @@ -159,8 +159,8 @@ static void cms_sd_set_version(CMS_SignedData *sd) if (sd->version < 3) sd->version = 3; } - else - sd->version = 1; + else if (si->version < 1) + si->version = 1; } if (sd->version < 1) @@ -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