integer overflow yields incorrect results and buffer overflow on 64-bit machines
Torbjorn Granlund
tg at swox.com
Mon Mar 3 23:24:34 CET 2008
Vincent Lefevre <vincent at vinc17.org> writes:
On 2008-02-27 18:19:39 +0100, Torbjorn Granlund wrote:
> What do you think of this change?
Seems OK.
On second thought, something trickier will be needed for 32-bit
machines (or actually any machine where sizeof(int) = sizeof(long))
since we don't support operands greater than whose bit count can be
stored in an unsigned long int.
However there's a possible overflow in n_pow_ui.c.
And it's not easy to handle that without a umul_ppmm in the general
case. Using umul_ppmm is no disaster, but I prefer to stay away from
it when possible, since it is expensive on certain machines.
--
Torbjörn
More information about the gmp-bugs
mailing list