On Fri, Jul 29, 2022 at 1:52 AM Johannes Schindelin via GitGitGadget <gitgitgadget@xxxxxxxxx> wrote: > > From: Johannes Schindelin <johannes.schindelin@xxxxxx> > > In 9fefce68dc8 (merge-ort: basic outline for merge_switch_to_result(), > 2020-12-13), we added functionality to lay down the result of a merge on > disk. But we forgot to release the data structures in case > `unpack_trees()` failed to run properly. > > This was pointed out by the `linux-leaks` job in our CI runs. > > Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> > --- > merge-ort: clean up after failed merge > > I was investigating why seen's CI runs fail, and came up with this fix. > > Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1307%2Fdscho%2Fmerge-ort-impl-leakfix-v1 > Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1307/dscho/merge-ort-impl-leakfix-v1 > Pull-Request: https://github.com/gitgitgadget/git/pull/1307 > > merge-ort.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/merge-ort.c b/merge-ort.c > index ee7fbe71404..61b9e90018b 100644 > --- a/merge-ort.c > +++ b/merge-ort.c > @@ -1002,6 +1002,7 @@ void merge_switch_to_result(struct merge_options *opt, > if (checkout(opt, head, result->tree)) { > /* failure to function */ > result->clean = -1; > + merge_finalize(opt, result); > return; > } > > @@ -1010,6 +1011,7 @@ void merge_switch_to_result(struct merge_options *opt, > &opti->conflicted)) { > /* failure to function */ > result->clean = -1; > + merge_finalize(opt, result); > return; > } > } > > base-commit: 9fefce68dc85d96781090f86c067d83f7c50b617 > -- > gitgitgadget Good catch. Can you rebase on to a slightly newer commit? I think we also need a trace2_region_leave() call in each block as well, which is only clear if you look at newer versions.