summaryrefslogtreecommitdiff
path: root/builtin/checkout.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2020-08-27 21:04:49 (GMT)
committerJunio C Hamano <gitster@pobox.com>2020-08-27 21:04:49 (GMT)
commit0d9a8e33f9fd07efa10072576df01a9cae5d89e6 (patch)
tree5a01c05bf4d8e6d775c4843e5c760e81be4a780b /builtin/checkout.c
parentedab8a8d07eff5771ad08e7d2935f5df992c2c45 (diff)
parent55fe225dde455ae32b9bc963bef4aabb9f5f7c3e (diff)
downloadgit-0d9a8e33f9fd07efa10072576df01a9cae5d89e6.zip
git-0d9a8e33f9fd07efa10072576df01a9cae5d89e6.tar.gz
git-0d9a8e33f9fd07efa10072576df01a9cae5d89e6.tar.bz2
Merge branch 'jk/leakfix'
Code clean-up. * jk/leakfix: submodule--helper: fix leak of core.worktree value config: fix leak in git_config_get_expiry_in_days() config: drop git_config_get_string_const() config: fix leaks from git_config_get_string_const() checkout: fix leak of non-existent branch names submodule--helper: use strbuf_release() to free strbufs clear_pattern_list(): clear embedded hashmaps
Diffstat (limited to 'builtin/checkout.c')
-rw-r--r--builtin/checkout.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/builtin/checkout.c b/builtin/checkout.c
index 2837195..bba6410 100644
--- a/builtin/checkout.c
+++ b/builtin/checkout.c
@@ -1120,8 +1120,10 @@ static void setup_new_branch_info_and_source_tree(
if (!check_refname_format(new_branch_info->path, 0) &&
!read_ref(new_branch_info->path, &branch_rev))
oidcpy(rev, &branch_rev);
- else
+ else {
+ free((char *)new_branch_info->path);
new_branch_info->path = NULL; /* not an existing branch */
+ }
new_branch_info->commit = lookup_commit_reference_gently(the_repository, rev, 1);
if (!new_branch_info->commit) {