diff options
author | Junio C Hamano <gitster@pobox.com> | 2023-10-14 00:18:28 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2023-10-14 00:18:28 +0300 |
commit | a45eddec40b7fd0b9a86ccd0e889a785829d55d7 (patch) | |
tree | 8193fea2e96795af6435e37d2539614fe3e47135 /builtin/merge.c | |
parent | c75e91499ba78278418b76f85964642a18af449c (diff) | |
parent | da09e7af68247519e2b19fc8dff113896c39ac3c (diff) |
Merge branch 'jk/commit-graph-leak-fixes'
Leakfix.
* jk/commit-graph-leak-fixes:
commit-graph: clear oidset after finishing write
commit-graph: free write-context base_graph_name during cleanup
commit-graph: free write-context entries before overwriting
commit-graph: free graph struct that was not added to chain
commit-graph: delay base_graph assignment in add_graph_to_chain()
commit-graph: free all elements of graph chain
commit-graph: move slab-clearing to close_commit_graph()
merge: free result of repo_get_merge_bases()
commit-reach: free temporary list in get_octopus_merge_bases()
t6700: mark test as leak-free
Diffstat (limited to 'builtin/merge.c')
-rw-r--r-- | builtin/merge.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/builtin/merge.c b/builtin/merge.c index 8f397cbeff..d748d46e13 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -1632,6 +1632,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix) for (j = remoteheads; j; j = j->next) { struct commit_list *common_one; + struct commit *common_item; /* * Here we *have* to calculate the individual @@ -1641,7 +1642,9 @@ int cmd_merge(int argc, const char **argv, const char *prefix) common_one = repo_get_merge_bases(the_repository, head_commit, j->item); - if (!oideq(&common_one->item->object.oid, &j->item->object.oid)) { + common_item = common_one->item; + free_commit_list(common_one); + if (!oideq(&common_item->object.oid, &j->item->object.oid)) { up_to_date = 0; break; } |