Fix, static variables get an 's' prefix.
Use memset in calloc, return NULL on size or numElements == 0.

Posix states 'If either numElements or size is 0, then either a null pointer or a
unique pointer value that can be successfully passed to free() shall be returned.'