Still wrong. Calling malloc(0) is NOT an error, and should NOT be throwing an exception

```
void *retVal = malloc(size);
if (size && !retVal)
{
   PrintStackReport();
   rtlThrowOutOfMemory(0, "Memory allocation error!");
}
return retVal;
```