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).
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
potentially 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