From: Pauli <paul.dale@oracle.com>
Date: Tue, 31 Jul 2018 03:11:00 +0000 (+1000)
Subject: Check return from BN_sub
X-Git-Tag: OpenSSL_1_1_0i~17
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c0cc23af26d0363dbd164ceae97ed044e3fd8861;p=openssl

Check return from BN_sub

Reviewed-by: Tim Hudson <tjh@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6823)

(cherry picked from commit 3d3cbce550ff5d6172cf28dbbf80bda93f6577a9)
---

diff --git a/crypto/rsa/rsa_ossl.c b/crypto/rsa/rsa_ossl.c
index 41fafa7418..8e81cbb411 100644
--- a/crypto/rsa/rsa_ossl.c
+++ b/crypto/rsa/rsa_ossl.c
@@ -332,7 +332,8 @@ static int rsa_ossl_private_encrypt(int flen, const unsigned char *from,
             goto err;
 
     if (padding == RSA_X931_PADDING) {
-        BN_sub(f, rsa->n, ret);
+        if (!BN_sub(f, rsa->n, ret))
+            goto err;
         if (BN_cmp(ret, f) > 0)
             res = f;
         else