diff --git a/crypto/bn/bn_gf2m.c b/crypto/bn/bn_gf2m.c index 19a101bccdaf429f8f0c581801e67211bb35f368..d0e03f87daea4bbcc6d343ac9a3faff9911699da 100644 --- a/crypto/bn/bn_gf2m.c +++ b/crypto/bn/bn_gf2m.c @@ -548,6 +548,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)) {