aboutsummaryrefslogtreecommitdiffstats
path: root/merge-recursive.c
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2024-06-11 11:20:14 +0200
committerJunio C Hamano <gitster@pobox.com>2024-06-11 13:15:06 -0700
commit8ff6bd47500dcd55d278fdbfe77fe838cc8dd3b1 (patch)
tree4e910d4a9f8e166bf2c66a21abe50123bdaf413b /merge-recursive.c
parentbuiltin/merge-recursive: fix leaking object ID bases (diff)
downloadgit-8ff6bd47500dcd55d278fdbfe77fe838cc8dd3b1.tar.gz
git-8ff6bd47500dcd55d278fdbfe77fe838cc8dd3b1.zip
merge-recursive: fix memory leak when finalizing merge
We do not free some members of `struct merge_options`' private data. Fix this to plug those leaks. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'merge-recursive.c')
-rw-r--r--merge-recursive.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/merge-recursive.c b/merge-recursive.c
index eff73dac02..832c8ef3f3 100644
--- a/merge-recursive.c
+++ b/merge-recursive.c
@@ -3800,6 +3800,9 @@ static void merge_finalize(struct merge_options *opt)
if (show(opt, 2))
diff_warn_rename_limit("merge.renamelimit",
opt->priv->needed_rename_limit, 0);
+ hashmap_clear_and_free(&opt->priv->current_file_dir_set,
+ struct path_hashmap_entry, e);
+ string_list_clear(&opt->priv->df_conflict_file_set, 0);
FREE_AND_NULL(opt->priv);
}