From 374eaf5271c9bfc63b5aa1139de55753ad67cc9a Mon Sep 17 00:00:00 2001 From: Damien George Date: Tue, 19 Dec 2017 15:42:58 +1100 Subject: [PATCH] py/mpz: Fix pow3 function so it handles the case when 3rd arg is 1. In this case the result should always be 0, even if 2nd arg is 0. --- py/mpz.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/py/mpz.c b/py/mpz.c index d300a8e5db..16112c2012 100644 --- a/py/mpz.c +++ b/py/mpz.c @@ -1390,7 +1390,7 @@ void mpz_pow_inpl(mpz_t *dest, const mpz_t *lhs, const mpz_t *rhs) { can have dest, lhs, rhs the same; mod can't be the same as dest */ void mpz_pow3_inpl(mpz_t *dest, const mpz_t *lhs, const mpz_t *rhs, const mpz_t *mod) { - if (lhs->len == 0 || rhs->neg != 0) { + if (lhs->len == 0 || rhs->neg != 0 || (mod->len == 1 && mod->dig[0] == 1)) { mpz_set_from_int(dest, 0); return; }