From: Junio C Hamano Date: Fri, 19 Dec 2025 03:52:10 GMT Subject: Re: [PATCH] repository: cache->squash_msg is freed twice Message-ID: In-Reply-To: Eric Sunshine writes: > On Thu, Dec 18, 2025 at 10:26 AM AZero13 via GitGitGadget > wrote: >> Thankfully, it is set to NULL, so no security consequences. >> However, this is still a mistake that must be rectified. >> >> Signed-off-by: Greg Funni >> --- >> diff --git a/repository.c b/repository.c >> @@ -349,7 +349,6 @@ out: >> static void repo_clear_path_cache(struct repo_path_cache *cache) >> { >> - FREE_AND_NULL(cache->squash_msg); >> FREE_AND_NULL(cache->squash_msg); >> FREE_AND_NULL(cache->merge_msg); >> FREE_AND_NULL(cache->merge_rr); > > This mistake has been present since Ævar added this function in > 759f340738 (repository.c: free the "path cache" in repo_clear(), > 2022-03-04), so it isn't the result of someone else coming along and > adding a new field to the structure which needs freeing but then > botching the call to FREE_AND_NULL(). Moreover, this function does > free all the freeable members of repo_path_cache, hence, nothing is > being leaked, so it must have just been a silly copy/paste mistake in > the first place. Hence, this change makes sense. Thanks, both. Will queue.