Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2022-02-10 01:21:00 +0300
committerJunio C Hamano <gitster@pobox.com>2022-02-10 01:21:00 +0300
commitc70b5e718749a64eb3a41ecb585bfb85f518878f (patch)
tree9357d8fc7ab58455239d398e497b087f07116f1e /merge-ort.c
parentc70bc338e9a35b45263c3c68913ad516e9e70d62 (diff)
parent6046f7a91c3bf5c76702f10a4a83e8a63afe2fb4 (diff)
Merge branch 'en/plug-leaks-in-merge'
Leakfix. * en/plug-leaks-in-merge: merge: fix memory leaks in cmd_merge() merge-ort: fix memory leak in merge_ort_internal()
Diffstat (limited to 'merge-ort.c')
-rw-r--r--merge-ort.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/merge-ort.c b/merge-ort.c
index b0ff9a7287..d455fca7d2 100644
--- a/merge-ort.c
+++ b/merge-ort.c
@@ -4579,7 +4579,7 @@ static void merge_ort_internal(struct merge_options *opt,
struct commit *h2,
struct merge_result *result)
{
- struct commit_list *iter;
+ struct commit *next;
struct commit *merged_merge_bases;
const char *ancestor_name;
struct strbuf merge_base_abbrev = STRBUF_INIT;
@@ -4608,7 +4608,8 @@ static void merge_ort_internal(struct merge_options *opt,
ancestor_name = merge_base_abbrev.buf;
}
- for (iter = merge_bases; iter; iter = iter->next) {
+ for (next = pop_commit(&merge_bases); next;
+ next = pop_commit(&merge_bases)) {
const char *saved_b1, *saved_b2;
struct commit *prev = merged_merge_bases;
@@ -4625,7 +4626,7 @@ static void merge_ort_internal(struct merge_options *opt,
saved_b2 = opt->branch2;
opt->branch1 = "Temporary merge branch 1";
opt->branch2 = "Temporary merge branch 2";
- merge_ort_internal(opt, NULL, prev, iter->item, result);
+ merge_ort_internal(opt, NULL, prev, next, result);
if (result->clean < 0)
return;
opt->branch1 = saved_b1;
@@ -4636,8 +4637,7 @@ static void merge_ort_internal(struct merge_options *opt,
result->tree,
"merged tree");
commit_list_insert(prev, &merged_merge_bases->parents);
- commit_list_insert(iter->item,
- &merged_merge_bases->parents->next);
+ commit_list_insert(next, &merged_merge_bases->parents->next);
clear_or_reinit_internal_opts(opt->priv, 1);
}