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 <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Patrick Steinhardt 2024-09-05 12:08:40 +02:00 committed by Junio C Hamano
parent a9539a993a
commit 63494913ec
1 changed files with 3 additions and 0 deletions

View File

@ -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);
}