malloc (0)
Maxime Henrion
mux at freebsd.org
Sat Feb 21 09:06:35 PST 2004
Petri Helenius wrote:
>
> I?m asking the net list because I came across this when browsing through
> the networking / resolver code.
>
> The question is if the code should check for zero value before calling
> malloc or is malloc(0) legal if the pointer is never used?
>
> I came across this when using dmalloc library and it started complaining
> about zero sized allocations from get_addrselectpolicy.
In C99, malloc(0) is legal. From n869.txt :
%%
If the size of the space requested is zero, the behavior is
implementation-defined: either a null pointer is returned,
or the behavior is as if the size were some nonzero value,
except that the returned pointer shall not be used to
access an object.
%%
As a side note, free(NULL) is also legal in C99.
Cheers,
Maxime
More information about the freebsd-net
mailing list