[PATCH 20/20] transport: fix leaking negotiation tips
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Aug 20, 2024, 14:06 UTC
- Message-ID
- <e8f479deeb209e79a121ce58c9ec610c458aadad.1724159575.git.ps@pks.im>
- In-Reply-To
- <cover.1724159575.git.ps@pks.im>
We do not free negotiation tips in the transport's smart options. Fix this by freeing them on disconnect.
Signed-off-by: Patrick Steinhardt <ps@pks.im> --- t/t5510-fetch.sh | 1 + transport.c | 4 ++++ 2 files changed, 5 insertions(+)
diff --git a/t/t5510-fetch.sh b/t/t5510-fetch.sh index 3b3991ab867..0890b9f61c5 100755 --- a/t/t5510-fetch.sh +++ b/t/t5510-fetch.sh @@ -5,6 +5,7 @@ test_description='Per branch config variables affects "git fetch". ' +TEST_PASSES_SANITIZE_LEAK=true . ./test-lib.sh . "$TEST_DIRECTORY"/lib-bundle.sh diff --git a/transport.c b/transport.c index da639d3bff0..0f20fc56e40 100644 --- a/transport.c +++ b/transport.c @@ -947,6 +947,10 @@ static int disconnect_git(struct transport *transport) finish_connect(data->conn); } + if (data->options.negotiation_tips) { + oid_array_clear(data->options.negotiation_tips); + free(data->options.negotiation_tips); + } list_objects_filter_release(&data->options.filter_options); oid_array_clear(&data->extra_have); oid_array_clear(&data->shallow);
-- 2.46.0.164.g477ce5ccd6.dirty