My recollection is that we made it that way quite a long time ago because existing programs assumed that behavior (malloc(0) != 0). You have cited no advantage whatsoever in changing it.