From: Patrick Steinhardt Date: Mon, 26 Aug 2024 07:21:37 GMT Subject: [PATCH 02/22] fetch-pack: fix memory leaks on fetch negotiation Message-ID: <33bc728a3450ea087ca786e9077c67a4cac0596a.1724656120.git.ps@pks.im> In-Reply-To: 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 --- fetch-pack.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fetch-pack.c b/fetch-pack.c index 58b4581ad80..0ed82feda14 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); } -- 2.46.0.164.g477ce5ccd6.dirty