]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
Fix for mini-gmp mpz_clrbit.
authorNiels Möller <nisse@lysator.liu.se>
Tue, 26 Aug 2014 17:09:52 +0000 (19:09 +0200)
committerNiels Möller <nisse@lysator.liu.se>
Tue, 26 Aug 2014 17:09:52 +0000 (19:09 +0200)
ChangeLog
mini-gmp.c

index 1b0f67df9041294ae6b06057b738d124ae81ee34..ce820fc87ef32256a7abac30d6b1e80d1f9acd7f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-08-26  Niels Möller  <nisse@lysator.liu.se>
+
+       * 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  <nisse@lysator.liu.se>
 
        * testsuite/ecdh-test.c (set_point): Check return value of
index b9186951cbb5f8039d60a43cde33b9ab2ae06325..acbe1becd8718cc2fa4f39241b8c5efeae8f44a6 100644 (file)
@@ -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;
 }