Implementation-defined behaviour:
*
Allocating zero bytes
// The allocation functions have implementation-defined behavior when the requested size
// of the allocation is zero.
void *p = malloc(0);