testutils.c: Fix high bits of the mpz_urandomb used with mini-gmp.
authorNiels Möller <nisse@lysator.liu.se>
Sun, 25 Nov 2018 16:11:39 +0000 (17:11 +0100)
committerNiels Möller <nisse@lysator.liu.se>
Sun, 25 Nov 2018 16:11:39 +0000 (17:11 +0100)
ChangeLog
testsuite/testutils.c

index fc7fa0bc52430feb1e4461605cec69bbec107877..2683e91448c07baf07b8e9e3053cb8e620fc1f0b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2018-11-25  Niels Möller  <nisse@lysator.liu.se>
 
+       * testsuite/testutils.c (mpz_urandomb) [NETTLE_USE_MINI_GMP]: Fix
+       masking of most significant bits.
+
        * rsa-decrypt-tr.c (rsa_decrypt_tr): Use
        NETTLE_OCTET_SIZE_TO_LIMB_SIZE.
 
index 6ce13c4e59f1df77e93cf8c77effc6d23a5b6c70..c965618bf4bef244ed9691c3672107e7273655dd 100644 (file)
@@ -818,7 +818,7 @@ mpz_urandomb (mpz_t r, struct knuth_lfib_ctx *ctx, mp_bitcnt_t bits)
   uint8_t *buf = xalloc (bytes);
 
   knuth_lfib_random (ctx, bytes, buf);
-  buf[bytes-1] &= 0xff >> (8*bytes - bits);
+  buf[0] &= 0xff >> (8*bytes - bits);
   nettle_mpz_set_str_256_u (r, bytes, buf);
   free (buf);
 }