aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel DeFreez <daniel@defreez.com>2019-02-13 14:26:14 +0800
committerPaul Yang <yang.yang@baishancloud.com>2019-02-13 14:26:14 +0800
commitb754a8a1590b8c5c9662c8a0ba49573991488b20 (patch)
treed306d33d3f3f03e0748bc0dcbc5fc59479b11466
parent5674466e007d892ec55441059b3763abd5dd5440 (diff)
downloadopenssl-b754a8a1590b8c5c9662c8a0ba49573991488b20.zip
openssl-b754a8a1590b8c5c9662c8a0ba49573991488b20.tar.gz
openssl-b754a8a1590b8c5c9662c8a0ba49573991488b20.tar.bz2
Fix null pointer dereference in cms_RecipientInfo_kari_init
CLA: trivial Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de> Reviewed-by: Paul Yang <yang.yang@baishancloud.com> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/8137)
-rw-r--r--crypto/cms/cms_kari.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/crypto/cms/cms_kari.c b/crypto/cms/cms_kari.c
index 4ee7017..9f1f5d5 100644
--- a/crypto/cms/cms_kari.c
+++ b/crypto/cms/cms_kari.c
@@ -282,7 +282,7 @@ static int cms_kari_create_ephemeral_key(CMS_KeyAgreeRecipientInfo *kari,
return rv;
}
-/* Initialise a ktri based on passed certificate and key */
+/* Initialise a kari based on passed certificate and key */
int cms_RecipientInfo_kari_init(CMS_RecipientInfo *ri, X509 *recip,
EVP_PKEY *pk, unsigned int flags)
@@ -299,6 +299,9 @@ int cms_RecipientInfo_kari_init(CMS_RecipientInfo *ri, X509 *recip,
kari->version = 3;
rek = M_ASN1_new_of(CMS_RecipientEncryptedKey);
+ if (rek == NULL)
+ return 0;
+
if (!sk_CMS_RecipientEncryptedKey_push(kari->recipientEncryptedKeys, rek)) {
M_ASN1_free_of(rek, CMS_RecipientEncryptedKey);
return 0;