[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: out of memory
- From: Edgar Toernig <froese@...>
- Date: Sat, 05 Oct 2002 15:48:05 +0200
> I do not know what the ANSI C standard says about using
ANSI C99 about memory management functions in general:
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.
and about realloc itself [the part where free is mentioned]:
If the realloc function returns a null pointer
when size is zero and ptr is not a null pointer, the object
it pointed to has been freed.
So it seems one cannot depend on realloc(x,0) to free x and my
libc is not buggy (puh *g*). Perfectly legal behaviour: truncate
to some small size and return a valid and unique pointer.