From b0e9d258654bb2c50f095ba05599d8badadb71a2 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Tue, 1 Jul 2025 14:17:25 -0700 Subject: [PATCH] send-pack: clean-up even when taking an early exit Previous commit has plugged one leak in the normal code path, but there is an early exit that leaves without releasing any resources acquired in the function. Signed-off-by: Junio C Hamano --- builtin/send-pack.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/builtin/send-pack.c b/builtin/send-pack.c index b28da7ddd7..6ce9f6665a 100644 --- a/builtin/send-pack.c +++ b/builtin/send-pack.c @@ -305,9 +305,10 @@ int cmd_send_pack(int argc, flags |= MATCH_REFS_MIRROR; /* match them up */ - if (match_push_refs(local_refs, &remote_refs, &rs, flags)) - return -1; - + if (match_push_refs(local_refs, &remote_refs, &rs, flags)) { + ret = -1; + goto cleanup; + } if (!is_empty_cas(&cas)) apply_push_cas(&cas, remote, remote_refs); @@ -340,6 +341,7 @@ int cmd_send_pack(int argc, /* stable plumbing output; do not modify or localize */ fprintf(stderr, "Everything up-to-date\n"); +cleanup: string_list_clear(&push_options, 0); free_refs(remote_refs); free_refs(local_refs); -- 2.47.3