1 The custom memory allocators are designed to keep track every allocated
2 pointer and size so the contents of the pointer can be cleared before being
3 freed. When realloc() needs to free a pointer, the old pointer isn't cleared
4 and may leave the contents visible.