Linus Torvalds wrote:
On Tue, 27 Dec 2005, H. Peter Anvin wrote:
quoted
Better yet, either always return NULL or allocate 1 byte in that case, to get
consistent behaviour.
Yes. However, if you do the "return NULL" case (which is nicest), you'll
have to wrap "free()" too. There are some libraries where passing "free()"
a NULL pointer causes a SIGSEGV.
That said, I think that would be preferable to changing the source code to
unnecessarily avoid zero-sized allocations. Having a "xfree()" to match
"xmalloc()" makes sense.
Yeah, although that might break GNU code which uses xmalloc that is
included (GNU doesn't have xfree.) The easiest is just to allocate 1
byte when the user asks for 0.
Anyone knows what GNU xmalloc does?
-hpa