X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fcms%2Fcms_sd.c;h=ff2d540b6a30cd6e0a9710ad8c7eff014a729a59;hp=764781688b00ae3d2c931cff7ebd0207a0b83b63;hb=378db52bb0177ae03cac3c3ba194bb6dec34a2d7;hpb=8a8d9e190533ee41e8b231b18c7837f98f1ae231;ds=sidebyside diff --git a/crypto/cms/cms_sd.c b/crypto/cms/cms_sd.c index 764781688b..ff2d540b6a 100644 --- a/crypto/cms/cms_sd.c +++ b/crypto/cms/cms_sd.c @@ -714,8 +714,10 @@ int CMS_SignerInfo_verify(CMS_SignerInfo *si) md = EVP_get_digestbyobj(si->digestAlgorithm->algorithm); if (md == NULL) return -1; - if (si->mctx == NULL) - si->mctx = EVP_MD_CTX_new(); + if (si->mctx == NULL && (si->mctx = EVP_MD_CTX_new()) == NULL) { + CMSerr(CMS_F_CMS_SIGNERINFO_VERIFY, ERR_R_MALLOC_FAILURE); + return -1; + } mctx = si->mctx; if (EVP_DigestVerifyInit(mctx, &si->pctx, md, NULL, si->pkey) <= 0) goto err;