Subject: Re: [PATCH v4] alloc: fix dangling pointer in alloc_state cleanup

From: Junio C Hamano <[email-masked]>
Date: Thu, 04 Sep 2025 00:47:49 -0700

"ノウラ | Flare via GitGitGadget" <[email-masked]> writes:

> +void alloc_state_free_and_null(struct alloc_state **s_)
>  {
> +	struct alloc_state *s;
> +
> +	if (!s_ || !*s_) return;

I still do not see the point of this check.  If the caller passes a
NULL pointer, when they are expected to pass the address of a
pointer variable so that the struct the pointer points at is cleared
and freed, and the pointer variable is NULLed, it is called a
programmer error and they deserve a segfault.  Why would it be
better to sweep such an error under the rug by returning without
anything?  It would delay discovery of such a bug, but for what
gain?