send-pack: always allocate receive status
commit5bd0851d97be732470eab8cb8d7255c7050ef384
authorPatrick Steinhardt <ps@pks.im>
Fri, 7 Jun 2024 06:38:58 +0000 (7 08:38 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 7 Jun 2024 17:30:53 +0000 (7 10:30 -0700)
treefcd97455162ad3b273c174ba8d7f556d3d6a16b5
parente463c5e8a0c306b62c25ff5856087ab32403158a
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>
builtin/send-pack.c
send-pack.c