malc wrote: > On Mon, 28 Dec 2009, Jamie Lokier wrote: > > > Aurelien Jarno wrote: > > > This fixes the loading of a stripped kernel with zero malloc disabled. > > > > *Raises an eyebrow* > > > > Even though there's different perspectives over whether qemu_malloc(0) > > should be allowed, inherited from ambiguity over malloc(0), > > realloc(p,0) has always had a standard, well-defined meaning. > > No. > http://groups.google.com/group/comp.std.c/browse_thread/thread/4e9af8847613d71f/6f75ad22e0768a0b?q=realloc++group:comp.std.c#6f75ad22e0768a0b
Wow, thanks for that. It's a real surprise. Looks like C99's own rationale is not consistent with itself on the subject, and differs from C90 where the "standard, well-defined meaning" I referred to was defined. See also http://c-faq.com/malloc/reallocnull.html which says "and the related realloc(..., 0), which frees" and has references at the end. See, it's not just me :-) So thanks for setting me straight. One thing we can all agree on now is that it's best not to call malloc(0) or realloc(p,0) at all :-) -- Jamie