summaryrefslogtreecommitdiffstats
path: root/crypto/bn
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2017-02-01 02:29:46 +0100
committerRichard Levitte <levitte@openssl.org>2017-02-01 03:17:38 +0100
commitdfb109c522a450af7f387d66ad32afeee87f9805 (patch)
treec0f4af98bca68c415d2c424896f3ce3f550f88a7 /crypto/bn
parent12ac28e0928a9cb2b970042b86c0a5ff4476590b (diff)
bn: fix occurance of negative zero in BN_rshift1()
Reviewed-by: Rich Salz <rsalz@openssl.org> (cherry picked from commit 0a2dcb6990dacc94337f746f4f4a6dfac1fbeac4)
Diffstat (limited to 'crypto/bn')
-rw-r--r--crypto/bn/bn_shift.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/crypto/bn/bn_shift.c b/crypto/bn/bn_shift.c
index b320602871..6a1eec80af 100644
--- a/crypto/bn/bn_shift.c
+++ b/crypto/bn/bn_shift.c
@@ -74,6 +74,8 @@ int BN_rshift1(BIGNUM *r, const BIGNUM *a)
c = (t & 1) ? BN_TBIT : 0;
}
r->top = j;
+ if (!r->top)
+ r->neg = 0; /* don't allow negative zero */
bn_check_top(r);
return (1);
}