If you want maximize chances of catching accidental mistakes as early as
possible then you should have malloc(0) abort, because it probably means
someone forgot tho consider the empty case.

I don't share the assumption that malloc(0) is a bug in most cases. And
on the other hand the slightly different behavior might actually
introduce bugs because people assume qemu_malloc() works like malloc().