The malloc is allowed, but only GC.malloc. C's malloc is not @safe as it requires free.
I think the reason is that it returns `void*` (needs a cast and has no length) and points to uninitialized memory, not because you need to free it manually. A memory leak is still memory safe.
