Commit 712b359764d09f4c2efe26430aa22fac5a14e505

Steffen Jaeckel 2017-04-10T16:34:03

fix mp_rand() for MP_{8,16}BIT

1
2
3
4
5
6
7
8
9
10
11
12
13
diff --git a/bn_mp_rand.c b/bn_mp_rand.c
index 073abcc..608a663 100644
--- a/bn_mp_rand.c
+++ b/bn_mp_rand.c
@@ -35,7 +35,7 @@ static mp_digit s_gen_random(void)
     d <<= MP_GEN_RANDOM_SHIFT;
     d |= ((mp_digit) MP_GEN_RANDOM());
     msk <<= MP_GEN_RANDOM_SHIFT;
-    msk |= MP_GEN_RANDOM_MAX;
+    msk |= (MP_MASK & MP_GEN_RANDOM_MAX);
   } while ((MP_MASK & msk) != MP_MASK);
   d &= MP_MASK;
   return d;