PR: 2540
authorDr. Stephen Henson <steve@openssl.org>
Wed, 22 Jun 2011 15:23:20 +0000 (15:23 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Wed, 22 Jun 2011 15:23:20 +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 ae642ccb3943987801eac44be6e7d1619cb61721..5d90f1e88be2f65af5cd3712f91c7c7bd51d68d9 100644 (file)
@@ -607,6 +607,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))
                                {