Git fork

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>

authored by

Patrick Steinhardt and committed by
Junio C Hamano
f46ede66 748bd094

+6
+3
rerere.c
··· 849 849 if (update.nr) 850 850 update_paths(r, &update); 851 851 852 + string_list_clear(&conflict, 0); 853 + string_list_clear(&update, 0); 852 854 return write_rr(rr, fd); 853 855 } 854 856 ··· 912 914 return 0; 913 915 status = do_plain_rerere(r, &merge_rr, fd); 914 916 free_rerere_dirs(); 917 + string_list_clear(&merge_rr, 1); 915 918 return status; 916 919 } 917 920
+1
t/t1021-rerere-in-workdir.sh
··· 4 4 GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main 5 5 export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME 6 6 7 + TEST_PASSES_SANITIZE_LEAK=true 7 8 . ./test-lib.sh 8 9 9 10 test_expect_success SYMLINKS setup '
+1
t/t3504-cherry-pick-rerere.sh
··· 5 5 GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main 6 6 export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME 7 7 8 + TEST_PASSES_SANITIZE_LEAK=true 8 9 . ./test-lib.sh 9 10 10 11 test_expect_success setup '
+1
t/t7600-merge.sh
··· 29 29 GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main 30 30 export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME 31 31 32 + TEST_PASSES_SANITIZE_LEAK=true 32 33 . ./test-lib.sh 33 34 . "$TEST_DIRECTORY"/lib-gpg.sh 34 35