summaryrefslogtreecommitdiff
path: root/builtin/send-pack.c
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2024-06-07 08:38:58 +0200
committerJunio C Hamano <gitster@pobox.com>2024-06-07 10:30:53 -0700
commit5bd0851d97be732470eab8cb8d7255c7050ef384 (patch)
treefcd97455162ad3b273c174ba8d7f556d3d6a16b5 /builtin/send-pack.c
parente463c5e8a0c306b62c25ff5856087ab32403158a (diff)
send-pack: always allocate receive status
In `receive_status()`, we record the reason why ref updates have been rejected by the remote via the `remote_status`. But while we allocate the assigned string when a reason was given, we assign a string constant when no reason was given. This has been working fine so far due to two reasons: - We don't ever free the refs in git-send-pack(1)' - Remotes always give a reason, at least as implemented by Git proper. Adapt the code to always allocate the receive status string and free the refs. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/send-pack.c')
-rw-r--r--builtin/send-pack.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/builtin/send-pack.c b/builtin/send-pack.c
index 3df9eaad09..17cae6bbbd 100644
--- a/builtin/send-pack.c
+++ b/builtin/send-pack.c
@@ -336,5 +336,7 @@ int cmd_send_pack(int argc, const char **argv, const char *prefix)
/* stable plumbing output; do not modify or localize */
fprintf(stderr, "Everything up-to-date\n");
+ free_refs(remote_refs);
+ free_refs(local_refs);
return ret;
}