summaryrefslogtreecommitdiffstats
path: root/crypto/bn/bn_mod.c
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2018-07-25 10:29:51 +0200
committerAndy Polyakov <appro@openssl.org>2018-07-26 13:56:05 +0200
commit70a579ae2f37437a1e02331eeaa84e1b68ba021e (patch)
treec81ecc60120d129b210bfb96edb1c6188deeb0c6 /crypto/bn/bn_mod.c
parent06deb93286ac5f125fc81ddc9260b9de2311c7f3 (diff)
bn/bn_mod.c: harmonize BN_mod_add_quick with original implementation.
New implementation failed to correctly reset r->neg flag. Spotted by OSSFuzz. Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/6783)
Diffstat (limited to 'crypto/bn/bn_mod.c')
-rw-r--r--crypto/bn/bn_mod.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/crypto/bn/bn_mod.c b/crypto/bn/bn_mod.c
index 463d2d69a8..d8e2e12c1e 100644
--- a/crypto/bn/bn_mod.c
+++ b/crypto/bn/bn_mod.c
@@ -83,6 +83,7 @@ int bn_mod_add_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
((volatile BN_ULONG *)tp)[i] = 0;
}
r->top = mtop;
+ r->neg = 0;
if (tp != storage)
OPENSSL_free(tp);