summaryrefslogtreecommitdiffstats
path: root/crypto/rsa
diff options
context:
space:
mode:
authorBrad Spencer <bspencer@blackberry.com>2017-12-20 13:41:14 -0400
committerBen Kaduk <kaduk@mit.edu>2018-03-01 09:05:42 -0600
commit178989b4a3ed714fa169cae5865c75f156ec9fdb (patch)
treef536407ccbbc6c327c457a8b0166e3227ba354ed /crypto/rsa
parente72bf967186a2ac26459926a20dbf03dc119eb5b (diff)
Test the result of CMS_RecipientInfo_ktri_get0_algs() before using its output in rsa_cms_encrypt().
CLA: trivial Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Ben Kaduk <kaduk@mit.edu> (Merged from https://github.com/openssl/openssl/pull/4966)
Diffstat (limited to 'crypto/rsa')
-rw-r--r--crypto/rsa/rsa_ameth.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/crypto/rsa/rsa_ameth.c b/crypto/rsa/rsa_ameth.c
index 98121b5e64..de9e3c1077 100644
--- a/crypto/rsa/rsa_ameth.c
+++ b/crypto/rsa/rsa_ameth.c
@@ -967,7 +967,8 @@ static int rsa_cms_encrypt(CMS_RecipientInfo *ri)
int pad_mode = RSA_PKCS1_PADDING, rv = 0, labellen;
unsigned char *label;
- CMS_RecipientInfo_ktri_get0_algs(ri, NULL, NULL, &alg);
+ if (CMS_RecipientInfo_ktri_get0_algs(ri, NULL, NULL, &alg) <= 0)
+ return 0;
if (pkctx) {
if (EVP_PKEY_CTX_get_rsa_padding(pkctx, &pad_mode) <= 0)
return 0;