[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#635370: Bug #635370: busybox: integer overflow in expression on big endian



reopen 635370
thanks

For the fun out of it all.  The original code, even if
gcc produced a warning, worked correctly.  Several attempts
to silence this warning produced worse or incorrect _code_.
I'm reverting the "fix" and marking this bug as not fixed.

The issue here is that enums in C are signed.  So once you
set the most significant bit to 1 the result gets promoted
to larger size (64bit in this case).  So further arith with
this constant were done in 64bits instead of 32bits.

Thanks,

/mjt



Reply to: