builtin/send-pack: fix leaking refspecs

We never free data associated with the assembled refspec in
git-send-pack(1), causing a memory leak. Fix this.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Patrick Steinhardt 2024-08-22 11:17:46 +02:00 committed by Junio C Hamano
parent ca52234183
commit a09efb74e3
6 changed files with 9 additions and 0 deletions

View File

@ -338,5 +338,6 @@ int cmd_send_pack(int argc, const char **argv, const char *prefix)
free_refs(remote_refs);
free_refs(local_refs);
refspec_clear(&rs);
return ret;
}

View File

@ -9,6 +9,7 @@ test_description='See why rewinding head breaks send-pack
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
cnt=64

View File

@ -4,6 +4,8 @@
#
test_description='Test the update hook infrastructure.'
TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success setup '

View File

@ -1,6 +1,8 @@
#!/bin/sh
test_description='send-pack --stdin tests'
TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
create_ref () {

View File

@ -4,6 +4,7 @@
#
test_description='Test git push porcelain output'
TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
# Create commits in <repo> and assign each commit's oid to shell variables

View File

@ -1,6 +1,8 @@
#!/bin/sh
test_description='test disabling of git-over-http in clone/fetch'
TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
. "$TEST_DIRECTORY/lib-proto-disable.sh"
. "$TEST_DIRECTORY/lib-httpd.sh"