From: Hugo Landau Date: Mon, 4 Apr 2022 11:25:16 +0000 (+0100) Subject: Fix failure to check result of bn_rshift_fixed_top X-Git-Tag: OpenSSL_1_1_1o~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=93ac3b8dd1cc49b27c402278cbe73a1c4ac91f9b;p=thirdparty%2Fopenssl.git Fix failure to check result of bn_rshift_fixed_top Fixes #18010. Reviewed-by: Matt Caswell Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/18034) (cherry picked from commit bc6bac8561ead83d6135f376ffcbbb0b657e64fe) --- diff --git a/crypto/bn/bn_div.c b/crypto/bn/bn_div.c index 0da9f39b31a..e2821fb6cd2 100644 --- a/crypto/bn/bn_div.c +++ b/crypto/bn/bn_div.c @@ -446,8 +446,10 @@ int bn_div_fixed_top(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, snum->neg = num_neg; snum->top = div_n; snum->flags |= BN_FLG_FIXED_TOP; - if (rm != NULL) - bn_rshift_fixed_top(rm, snum, norm_shift); + + if (rm != NULL && bn_rshift_fixed_top(rm, snum, norm_shift) == 0) + goto err; + BN_CTX_end(ctx); return 1; err: