[Bug c/67999] Wrong optimization of pointer comparisons
bugdal at aerifal dot cx
gcc-bugzilla@gcc.gnu.org
Mon Oct 19 05:36:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67999
Rich Felker <bugdal at aerifal dot cx> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |bugdal at aerifal dot cx
--- Comment #6 from Rich Felker <bugdal at aerifal dot cx> ---
IMO there's nothing wrong with what GCC's doing, but library implementations
that allow allocations > PTRDIFF_MAX are buggy. musl has always gotten this
right and Bionic has fixed it recently; see
https://android-review.googlesource.com/#/c/170800/
Somebody should probably file a bug with glibc if there's not one already, but
clearly they're aware of this issue (Alexander Cherepanov pointed this out to
me): https://sourceware.org/ml/libc-alpha/2011-12/msg00066.html
The key part is:
"I don't think there's anything that can sensibly be done in the compiler
about this issue; I think the only way to avoid security problems there is
for malloc and other allocation functions to refuse to allocate objects
using half or more of the address space..."
More information about the Gcc-bugs
mailing list