diff options
| author | Ævar Arnfjörð Bjarmason <avarab@gmail.com> | 2022-07-01 12:42:51 +0200 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2022-07-01 11:43:42 -0700 |
| commit | 74a06a9f2103332d50ddc17dcd6a0a153a5e377d (patch) | |
| tree | f16789bbe0f1cae2c1770d4fc7a651f7b83bdf1d | |
| parent | 99b6c45d8f846ed055ba814d985084733d36dabc (diff) | |
| download | git-74a06a9f2103332d50ddc17dcd6a0a153a5e377d.tar.gz | |
clone: fix memory leak in wanted_peer_refs()
Fix a memory leak added in 0ec4b1650cc (clone: fix ref selection in
--single-branch --branch=xxx, 2012-06-22).
Whether we get our "remote_head" from copy_ref() directly, or with a
call to guess_remote_head() it'll be the result of a copy_ref() in
either case, as guess_remote_head() is a wrapper for copy_ref() (or it
returns NULL).
We can't mark any tests passing passing with SANITIZE=leak using
"TEST_PASSES_SANITIZE_LEAK=true" as a result of this change, but
e.g. "t/t1500-rev-parse.sh" now gets closer to passing.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
| -rw-r--r-- | builtin/clone.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/builtin/clone.c b/builtin/clone.c index 89a91b0017..c43c85dad0 100644 --- a/builtin/clone.c +++ b/builtin/clone.c @@ -494,6 +494,7 @@ static struct ref *wanted_peer_refs(const struct ref *refs, /* if --branch=tag, pull the requested tag explicitly */ get_fetch_map(remote_head, tag_refspec, &tail, 0); } + free_refs(remote_head); } else { int i; for (i = 0; i < refspec->nr; i++) |
