rerere: fix various trivial leaks
We leak various different string lists in the rerere code. Free those to plug them. Note that the `merge_rr` variable is intentionally being free'd with the `free_util` parameter set to 1. The `util` field is used there to store the IDs of every rerere item and thus needs to be freed, as well. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
748bd0943b
commit
f46ede661f
3
rerere.c
3
rerere.c
|
@ -849,6 +849,8 @@ static int do_plain_rerere(struct repository *r,
|
|||
if (update.nr)
|
||||
update_paths(r, &update);
|
||||
|
||||
string_list_clear(&conflict, 0);
|
||||
string_list_clear(&update, 0);
|
||||
return write_rr(rr, fd);
|
||||
}
|
||||
|
||||
|
@ -912,6 +914,7 @@ int repo_rerere(struct repository *r, int flags)
|
|||
return 0;
|
||||
status = do_plain_rerere(r, &merge_rr, fd);
|
||||
free_rerere_dirs();
|
||||
string_list_clear(&merge_rr, 1);
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ test_description='rerere run in a workdir'
|
|||
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
|
||||
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
|
||||
|
||||
TEST_PASSES_SANITIZE_LEAK=true
|
||||
. ./test-lib.sh
|
||||
|
||||
test_expect_success SYMLINKS setup '
|
||||
|
|
|
@ -5,6 +5,7 @@ test_description='cherry-pick should rerere for conflicts'
|
|||
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
|
||||
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
|
||||
|
||||
TEST_PASSES_SANITIZE_LEAK=true
|
||||
. ./test-lib.sh
|
||||
|
||||
test_expect_success setup '
|
||||
|
|
|
@ -29,6 +29,7 @@ Testing basic merge operations/option parsing.
|
|||
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
|
||||
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
|
||||
|
||||
TEST_PASSES_SANITIZE_LEAK=true
|
||||
. ./test-lib.sh
|
||||
. "$TEST_DIRECTORY"/lib-gpg.sh
|
||||
|
||||
|
|
Loading…
Reference in New Issue