diff --git a/crypto/bn/bn_gf2m.c b/crypto/bn/bn_gf2m.c index caad2d0d0d27234c97504f567a49c4331bb8de23..73e1e8f11bbcbef9d61dc341757b9f891260da93 100644 --- a/crypto/bn/bn_gf2m.c +++ b/crypto/bn/bn_gf2m.c @@ -450,8 +450,7 @@ int BN_GF2m_mod_arr(BIGNUM *r, const BIGNUM *a, const int p[]) d0 = p[k] % BN_BITS2; d1 = BN_BITS2 - d0; z[n] ^= (zz << d0); - tmp_ulong = zz >> d1; - if (d0 && tmp_ulong) + if (d0 && (tmp_ulong = zz >> d1)) z[n + 1] ^= tmp_ulong; }