merge-ort: clean up after failed merge

In 9fefce68dc (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@gmx.de>
Reviewed-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Johannes Schindelin 2022-07-29 17:12:06 +00:00 коммит произвёл Junio C Hamano
Родитель 359da658ae
Коммит fef2b6dace
1 изменённых файлов: 2 добавлений и 0 удалений

Просмотреть файл

@ -4225,6 +4225,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;
}
trace2_region_leave("merge", "checkout", opt->repo);
@ -4235,6 +4236,7 @@ void merge_switch_to_result(struct merge_options *opt,
/* failure to function */
opt->priv = NULL;
result->clean = -1;
merge_finalize(opt, result);
return;
}
opt->priv = NULL;