avoid asking ?alloc() for zero bytes.