malloc(0) isn't portable