test-skeleton.c (xrealloc): Support realloc-as-free

If the requested size is zero, realloc returns NULL, but the
deallocation is still successful, unless the pointer is also
NULL, when realloc behaves as malloc (0).
This commit is contained in:
Florian Weimer 2016-06-23 14:17:57 +02:00
parent 9d52cb01f2
commit 64ba17317d
2 changed files with 7 additions and 3 deletions

View File

@ -1,3 +1,7 @@
2016-06-23 Florian Weimer <fweimer@redhat.com>
* test-skeleton.c (xrealloc): Support deallocation with n == 0.
2016-06-23 Florian Weimer <fweimer@redhat.com>
* test-skeleton.c (xmalloc, xcalloc, xrealloc): Mark as

View File

@ -109,10 +109,10 @@ __attribute__ ((unused))
static void *
xrealloc (void *p, size_t n)
{
p = realloc (p, n);
if (p == NULL)
void *result = realloc (p, n);
if (result == NULL && (n > 0 || p == NULL))
oom_error ("realloc", n);
return p;
return result;
}
/* Write a message to standard output. Can be used in signal