From: Jonathan Nieder Date: Thu, 03 Sep 2020 03:50:08 GMT Subject: Re: [PATCH] xrealloc: do not reuse pointer freed by zero-length realloc() Message-ID: <20200903035008.GF4035286@google.com> In-Reply-To: Junio C Hamano wrote: > Jeff King writes: >> If we do handle it up-front, then I think we'd actually want: >> >> if (!size) { >> free(ptr); >> return xmalloc(0); >> } >> >> (i.e., to never return NULL for consistency with xmalloc() and >> xcalloc()). > > Makes sense. I suspect that this is optimizing for a wrong case, > but in practice that should not matter. Not having to worry about > a request to resize to 0-byte in the remainder of the function is > actually a plus for readability, I would say. I agree with both points: if we were repeatedly shrinking and growing a buffer and cared about its performance, then we'd want the first version, and since we aren't, we should prefer this version that is more readable. Thanks, Jonathan