"ノウラ | Flare via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > From: =?UTF-8?q?=E3=83=8E=E3=82=A6=E3=83=A9=20=7C=20Flare?= > <nouraellm@xxxxxxxxx> > > All callers of clear_alloc_state() immediately free what they > cleared, so currently it does not hurt anybody that the > alloc_state is left in an unreusable state, but it is an > error-prone API. Replace it with a new function that clears but > in addition frees the structure, as well as NULLing the pointer > that points at it and adjust existing callers. > > As it is a moral equivalent of FREE_AND_NULL(), except that what it > frees has internal structure that needs to be cleaned, allow the > helper to be called twice in a row, by making a call with a pointer > to a pointer variable that already is NULLed. > > While at it, rename allocate_alloc_state() and name the new > function alloc_state_free_and_null(), to follow more closely the > function naming convention specified in the CodingGuidelines > (namely, functions about S are named with S_ prefix and then > verb). > > Signed-off-by: ノウラ | Flare <nouraellm@xxxxxxxxx> > Helped-by: Jeff King <peff@xxxxxxxx> > Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> > --- > alloc: fix dangling pointer in alloc_state cleanup > > cc: Torsten Bögershausen tboegi@xxxxxx cc: Jeff King peff@xxxxxxxx > > Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-2040%2Fnouraellm%2Ffix-dangling-pointer-v6 > Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-2040/nouraellm/fix-dangling-pointer-v6 > Pull-Request: https://github.com/git/git/pull/2040 Nicely done. I see no more need for further changes. > + if (!s) > + return; This must be indented with two tabs, i.e. if (!s) return; but the copy I have since yesterday already is formatted that way, so no need to resend this patch. Thanks. Let's mark the topic for 'next'.