If memarray data is not initialized to 0 (for instance during a re-init). The last element of the array is not properly cleared thus leading to returning an invalid pointer when everything is allocated.
MAX_NUMBER_BLOCKS and NUMBER_OF_TESTS can be overriden via CFLAGS