From a287f1a93118b5cc4b4f4ac2a54216dde5ee01da Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Sun, 25 Nov 2018 17:11:39 +0100
Subject: [PATCH] testutils.c: Fix high bits of the mpz_urandomb used with
 mini-gmp.

---
 ChangeLog             | 3 +++
 testsuite/testutils.c | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index fc7fa0bc..2683e914 100644
--- 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.
 
diff --git a/testsuite/testutils.c b/testsuite/testutils.c
index 6ce13c4e..c965618b 100644
--- a/testsuite/testutils.c
+++ b/testsuite/testutils.c
@@ -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);
 }
-- 
GitLab