2.5.16 void* realloc
void* realloc(void *__ptr, size_t __size) __ATTR_MALLOC__
The realloc() function tries to change the size of the region allocated at ptr
to the new size
value. It returns a pointer to the new region. The returned pointer might be the same as the old pointer, or a pointer to a completely different region.
The contents of the returned region up to either the old or the new size value (whatever is less) will be identical to the contents of the old region, even in case a new region had to be allocated.
It is acceptable to pass ptr
as NULL, in which case realloc() will behave identical to malloc().
If the new memory cannot be allocated, realloc() returns NULL, and the region at ptr
will not be changed.