http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45779
--- Comment #1 from Alexander <aklauer at rumms dot uni-mannheim.de> 2010-09-27 16:20:48 UTC --- While fiddling around a bit more I found that gcc normally doesn't let me create objects whose size exceeds PTRDIFF_MAX. For objects of size at most PTRDIFF_MAX, the bug cannot be triggered. The only function I found which does create such large objects is malloc(). Presumably, its companions calloc() and realloc() do so as well. In this light, the best fix for this bug seems to be for malloc() and companions to simply return NULL upon a request for an object whose size exceeds PTRDIFF_MAX.