valgrind 3.21.0 reports realloc() of 0 bytes as an error due to having
different behavior on different systems. The only place where this can
happen in chrony is the array, which doesn't care what value realloc()
returns.
Modify the realloc wrapper to call free() in this case to make valgrind
happy.
{
void *r;
+ if (size == 0) {
+ Free(ptr);
+ return NULL;
+ }
+
r = realloc(ptr, size);
- if (!r && size)
+ if (!r)
LOG_FATAL("Could not allocate memory");
return r;