On Tue, Oct 5, 2010 at 6:17 AM, Nicolas Pitre [off-list ref] wrote:
On Tue, 5 Oct 2010, Erik Faye-Lund wrote:
quoted
Signed integer overflow is not defined in C, so do not depend on it.
This fixes a problem with GCC 4.4.0 and -O3 where the optimizer would
consider "consumed_bytes > consumed_bytes + bytes" as a constant
expression, and never execute the die()-call.
Signed-off-by: Erik Faye-Lund <redacted>
I like this. Please also fix the similar case in
builtin/pack-objects.c:write_one().
Thanks for pointing that one out. For some reason GCC didn't warn
about that instance - perhaps it's optimizer missed the case due to
going through that pointer?
I've just resent a version with that fix-up.