From: Niels Möller Date: Tue, 26 Aug 2014 17:09:52 +0000 (+0200) Subject: Fix for mini-gmp mpz_clrbit. X-Git-Tag: nettle_3.1rc1~155^2~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=954cbd3c95b874fe8ff2726a4aa3ab4f9094bcaa;p=thirdparty%2Fnettle.git Fix for mini-gmp mpz_clrbit. --- diff --git a/ChangeLog b/ChangeLog index 1b0f67df..ce820fc8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2014-08-26 Niels Möller + + * mini-gmp.c (mpz_abs_sub_bit): Do full normalization, needed in + case the most significant bit is cleared. + 2014-08-25 Niels Möller * testsuite/ecdh-test.c (set_point): Check return value of diff --git a/mini-gmp.c b/mini-gmp.c index b9186951..acbe1bec 100644 --- a/mini-gmp.c +++ b/mini-gmp.c @@ -3569,7 +3569,7 @@ mpz_abs_sub_bit (mpz_t d, mp_bitcnt_t bit_index) gmp_assert_nocarry (mpn_sub_1 (dp + limb_index, dp + limb_index, dn - limb_index, bit)); - dn -= (dp[dn-1] == 0); + dn = mpn_normalized_size (dp, dn); d->_mp_size = (d->_mp_size < 0) ? - dn : dn; }