Return value of malloc(0)

Pat Lashley patl+freebsd at volant.org
Thu Jun 29 19:33:49 UTC 2006


> On Thu, Jun 29, 2006 at 11:44:23AM -0400, Pat Lashley wrote:
> > No, our implementation is NOT legal.  We always return the SAME value.  To
> > be legal, we should not return that value again unless it has been
> > free()-ed.
>
> It is legal due to brain damaged definition of implementation defined
> behaviour, but it violates the spirit of the standard :-)

Perhaps I'm misunderstanding the 'implementation defined behavior' choices in 
the standard.  I thought that it could either 1) Return NULL; or 2) Behave as 
though it returned a 'minimum allocation' (which cannot be legally 
de-referenced).  But if it did actually perform a 'minimum allocation'; 
wouldn't it have to return a different value every time to maintain the free() 
semantics?




-Pat 


More information about the freebsd-hackers mailing list