summaryrefslogtreecommitdiff
path: root/mpz/pprime_p.c
diff options
context:
space:
mode:
authortege <tege@gmplib.org>2000-04-10 14:55:18 +0200
committertege <tege@gmplib.org>2000-04-10 14:55:18 +0200
commitccfe9331cafb4b658d957dab040efcd0f22a8d3a (patch)
treeb7fe5bc7e7328750d39405c9580fbae5d35f60e4 /mpz/pprime_p.c
parent090974398153ba70e994d36313d59969708f9899 (diff)
downloadgmp-ccfe9331cafb4b658d957dab040efcd0f22a8d3a.tar.gz
(millerrabin): ... and don't forget to call gmp_randclear.
Diffstat (limited to 'mpz/pprime_p.c')
-rw-r--r--mpz/pprime_p.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/mpz/pprime_p.c b/mpz/pprime_p.c
index 57de73fc7..bd0329849 100644
--- a/mpz/pprime_p.c
+++ b/mpz/pprime_p.c
@@ -204,15 +204,25 @@ millerrabin (n, n_minus_1, x, y, q, k)
mpz_powm (y, x, q, n);
if (mpz_cmp_ui (y, 1L) == 0 || mpz_cmp (y, n_minus_1) == 0)
- return 1;
+ {
+ gmp_randclear (rstate);
+ return 1;
+ }
for (i = 1; i < k; i++)
{
mpz_powm_ui (y, y, 2L, n);
if (mpz_cmp (y, n_minus_1) == 0)
- return 1;
+ {
+ gmp_randclear (rstate);
+ return 1;
+ }
if (mpz_cmp_ui (y, 1L) == 0)
- return 0;
+ {
+ gmp_randclear (rstate);
+ return 0;
+ }
}
+ gmp_randclear (rstate);
return 0;
}