summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRich Salz <rsalz@openssl.org>2017-11-27 14:11:36 -0500
committerRich Salz <rsalz@openssl.org>2017-11-27 14:59:13 -0500
commit5d227f9af07646702e1247836f7fbf1ca9b8a2bc (patch)
tree17bd209fbf7d556cd8b6c54a2faddf7dd8232fe5
parent6ac9fda415c822cc5dd8c845893c6048c34492e0 (diff)
Check for malloc failure
Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/4805) (cherry picked from commit 378db52bb0177ae03cac3c3ba194bb6dec34a2d7)
-rw-r--r--crypto/cms/cms_sd.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/crypto/cms/cms_sd.c b/crypto/cms/cms_sd.c
index 76c1f53b56..4108fe7082 100644
--- a/crypto/cms/cms_sd.c
+++ b/crypto/cms/cms_sd.c
@@ -713,8 +713,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;