From: Andy Polyakov Date: Thu, 29 Mar 2012 21:35:28 +0000 (+0000) Subject: bn/bn_gf2m.c: make new BN_GF2m_mod_inv work with BN_DEBUG_RAND. X-Git-Tag: master-post-reformat~1888 X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff_plain;h=4736eab947b470a5b6522da2c8f6bf485e363e52;hp=23a05fa0c146b99731b0e83f3928066536c4b1e0;ds=sidebyside bn/bn_gf2m.c: make new BN_GF2m_mod_inv work with BN_DEBUG_RAND. --- diff --git a/crypto/bn/bn_gf2m.c b/crypto/bn/bn_gf2m.c index 0bfb56971e..e54a701166 100644 --- a/crypto/bn/bn_gf2m.c +++ b/crypto/bn/bn_gf2m.c @@ -631,8 +631,11 @@ int BN_GF2m_mod_inv(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx) } if (ubits==vbits) { - bn_correct_top(u); - ubits = BN_num_bits(u); + BN_ULONG u; + int utop = (ubits-1)/BN_BITS2; + + while ((u=udp[utop])==0 && utop) utop--; + ubits = utop*BN_BITS2 + BN_num_bits_word(u); } } bn_correct_top(b);