[PATCH 02/22] fetch-pack: fix memory leaks on fetch negotiation
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Aug 26, 2024, 07:21 UTC
- Message-ID
- <33bc728a3450ea087ca786e9077c67a4cac0596a.1724656120.git.ps@pks.im>
- In-Reply-To
- <cover.1724656120.git.ps@pks.im>
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 <ps@pks.im> --- 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