bugfix in mp_prime_is_prime for small input

This commit is contained in:
czurnieden 2018-05-04 17:58:56 +02:00 committed by Steffen Jaeckel
parent fdaad99b1b
commit fd876e4a7f
1 changed files with 3 additions and 2 deletions

View File

@ -275,8 +275,9 @@ int mp_prime_is_prime(const mp_int *a, int t, int *result)
fips_rand |= (unsigned int) b.dp[0];
}
#endif
len = (int) ((fips_rand & mask)/ DIGIT_BIT);
// Unlikely, but still possible.
// Ceil, because small numbers have a right to live, too,
len = (int) ( ((fips_rand & mask) + DIGIT_BIT) / DIGIT_BIT);
// Unlikely.
if(len < 0){
ix--;
continue;