From: Junio C Hamano Date: Tue, 1 Jul 2025 21:17:25 +0000 (-0700) Subject: send-pack: clean-up even when taking an early exit X-Git-Tag: v2.51.0-rc0~93^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b0e9d258654bb2c50f095ba05599d8badadb71a2;p=thirdparty%2Fgit.git 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 --- 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);