--- mpz/set_d.c +++ mpz/set_d.c @@ -56,6 +56,9 @@ if (ALLOC(r) < rn) _mpz_realloc (r, rn); + if (rn <= 0) + rn = 0; + rp = PTR (r); switch (rn)