From: Patrick Steinhardt Date: Thu, 5 Sep 2024 10:08:40 +0000 (+0200) Subject: fetch-pack: fix memory leaks on fetch negotiation X-Git-Tag: v2.47.0-rc0~28^2~20 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=63494913eced2f0993eb431ad236b03e6ee8cac2;p=thirdparty%2Fgit.git fetch-pack: fix memory leaks on fetch negotiation We leak both the `nt_object_array` and `negotiator` structures in `negotiate_using_fetch()`. Plug both of these leaks. These leaks were exposed by t5516, but fixing them is not sufficient to make the whole test suite leak free. Signed-off-by: Patrick Steinhardt Signed-off-by: Junio C Hamano --- diff --git a/fetch-pack.c b/fetch-pack.c index 58b4581ad8..0ed82feda1 100644 --- a/fetch-pack.c +++ b/fetch-pack.c @@ -2227,7 +2227,10 @@ void negotiate_using_fetch(const struct oid_array *negotiation_tips, trace2_region_leave("fetch-pack", "negotiate_using_fetch", the_repository); trace2_data_intmax("negotiate_using_fetch", the_repository, "total_rounds", negotiation_round); + clear_common_flag(acked_commits); + object_array_clear(&nt_object_array); + negotiator.release(&negotiator); strbuf_release(&req_buf); }