PR: 2540
authorDr. Stephen Henson <steve@openssl.org>
Wed, 22 Jun 2011 15:23:40 +0000 (15:23 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Wed, 22 Jun 2011 15:23:40 +0000 (15:23 +0000)
Submitted by: emmanuel.azencot@bull.net
Reviewed by: steve

Prevent infinite loop in BN_GF2m_mod_inv().

crypto/bn/bn_gf2m.c

index 3bf017feda7e804370acc7c277665e163466594e..573156accb4231062a683587a899a3f9afe315dd 100644 (file)
@@ -547,6 +547,7 @@ int BN_GF2m_mod_inv(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx)
                {
                while (!BN_is_odd(u))
                        {
+                       if (BN_is_zero(u)) goto err;
                        if (!BN_rshift1(u, u)) goto err;
                        if (BN_is_odd(b))
                                {