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);