revision API: call graph_clear() in release_revisions()
Call graph_clear() in release_revisions(), this will free memory allocated by e.g. this command, which will now run without memory leaks: git -P log -1 --graph --no-graph --graph Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Taylor Blau <me@ttaylorr.com>
Ævar Arnfjörð Bjarmason committed
Nov 8, 2022 at 19:17 UTC
fc47252d5b36fe2267e34aa9471dd7bb37d40545
3 files changed
+3
revision.c
+1
@@ -3020,6 +3020,7 @@ void release_revisions(struct rev_info *revs)
3020
date_mode_release(&revs->date_mode);
3021
release_revisions_mailmap(revs->mailmap);
3022
free_grep_patterns(&revs->grep_filter);
3023
+ graph_clear(revs->graph);
3024
/* TODO (need to handle "no_free"): diff_free(&revs->diffopt) */
3025
diff_free(&revs->pruning);
3026
reflog_walk_info_release(revs->reflog_info);
t/t3413-rebase-hook.sh
+1
@@ -5,6 +5,7 @@ test_description='git rebase with its hook(s)'
5
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
6
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
7
8
+TEST_PASSES_SANITIZE_LEAK=true
9
. ./test-lib.sh
10
11
test_expect_success setup '
t/t4052-stat-output.sh
+1
@@ -8,6 +8,7 @@ test_description='test --stat output of various commands'
8
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
9
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
10
11
+TEST_PASSES_SANITIZE_LEAK=true
12
. ./test-lib.sh
13
. "$TEST_DIRECTORY"/lib-terminal.sh
14