[PATCH 05/28] fetch-pack: free object filter before exiting
- From
Jeff King <peff@peff.net>
- Date
- Sep 24, 2024, 21:52 UTC
- Message-ID
- <20240924215207.GE1143820@coredump.intra.peff.net>
- In-Reply-To
- <20240924214930.GA1143523@coredump.intra.peff.net>
Our fetch_pack_args holds a filter_options struct that may be populated with allocated strings by the by the "--filter" command-line option. We must free it before exiting to avoid a leak when the program exits.
The usual fetch code paths that use transport.c don't have the same leak, because we do the cleanup in disconnect_git().
Fixing this leak lets us mark t5500 as leak-free.
Signed-off-by: Jeff King <peff@peff.net> --- builtin/fetch-pack.c | 1 + t/t5500-fetch-pack.sh | 1 + 2 files changed, 2 insertions(+)
diff --git a/builtin/fetch-pack.c b/builtin/fetch-pack.c index c5319232a5..cfc6951d23 100644 --- a/builtin/fetch-pack.c +++ b/builtin/fetch-pack.c @@ -293,5 +293,6 @@ int cmd_fetch_pack(int argc, free(sought); free_refs(fetched_refs); free_refs(remote_refs); + list_objects_filter_release(&args.filter_options); return ret; } diff --git a/t/t5500-fetch-pack.sh b/t/t5500-fetch-pack.sh index 585ea0ee16..605f17240c 100755 --- a/t/t5500-fetch-pack.sh +++ b/t/t5500-fetch-pack.sh @@ -8,6 +8,7 @@ test_description='Testing multi_ack pack fetching' GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME +TEST_PASSES_SANITIZE_LEAK=true . ./test-lib.sh # Test fetch-pack/upload-pack pair.
-- 2.46.2.1011.gf1f9323e02