Test the result of CMS_RecipientInfo_ktri_get0_algs() before using its output in...
authorBrad Spencer <bspencer@blackberry.com>
Wed, 20 Dec 2017 17:41:14 +0000 (13:41 -0400)
committerBen Kaduk <kaduk@mit.edu>
Thu, 1 Mar 2018 15:05:42 +0000 (09:05 -0600)
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)

crypto/rsa/rsa_ameth.c

index 98121b5e6429b9c3630d4717e3613c0722c1e5a6..de9e3c10776656510e73d5ec5037315006624709 100644 (file)
@@ -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;