Fix memory allocation bug
In some cases a memory block will be split into two blocks where one has size zero. This makes MemFree try to free the wrong entry, one that is set as not allocated, and cause a panic.
In some cases a memory block will be split into two blocks where one has size zero. This makes MemFree try to free the wrong entry, one that is set as not allocated, and cause a panic.