> It could well be that you are right that it is in the conversion to base 10,
> but I don't see how your example proves it. The problem is that the heap
> could be getting corrupt, and that can cause a seg-fault arbitrarily later
> or not at all.
True. However, I also modified IntInf_toString in IntInf.c to printf at
the start and finish of IntInf_toString, gdb stepping through
IntInf_toString verifies that we never return from the mpz_get_str call.