commit | 5bf565e353b73bc87e0b918368dadac701644078 | [log] [tgz] |
---|---|---|
author | Damien George <damien.p.george@gmail.com> | Fri Apr 04 00:16:32 2014 +0100 |
committer | Damien George <damien.p.george@gmail.com> | Fri Apr 04 00:16:32 2014 +0100 |
tree | 21efe4ac810f703902bfe05259c0fe3f63581526 | |
parent | 4b34c76fd6040bb0332923165fcfaf8c85b5dac6 [diff] [blame] |
py: Handle small int power overflow correctly.
diff --git a/py/mpz.c b/py/mpz.c index 4a8941e..21b3909 100644 --- a/py/mpz.c +++ b/py/mpz.c
@@ -993,8 +993,11 @@ if (mpz_is_odd(n)) { mpz_mul_inpl(dest, dest, x); } - mpz_mul_inpl(x, x, x); n->len = mpn_shr(n->dig, n->dig, n->len, 1); + if (n->len == 0) { + break; + } + mpz_mul_inpl(x, x, x); } mpz_free(x);