]> git.ipfire.org Git - thirdparty/git.git/commitdiff
revision API: call graph_clear() in release_revisions()
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Tue, 8 Nov 2022 18:17:44 +0000 (19:17 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 21 Nov 2022 03:32:48 +0000 (12:32 +0900)
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>
revision.c
t/t3413-rebase-hook.sh
t/t4052-stat-output.sh

index 0760e78936e4f147fc3170d4a7ba75b7e6e88ab5..650dd17599a7058b916381247450cdc228035ab1 100644 (file)
@@ -3020,6 +3020,7 @@ void release_revisions(struct rev_info *revs)
        date_mode_release(&revs->date_mode);
        release_revisions_mailmap(revs->mailmap);
        free_grep_patterns(&revs->grep_filter);
+       graph_clear(revs->graph);
        /* TODO (need to handle "no_free"): diff_free(&revs->diffopt) */
        diff_free(&revs->pruning);
        reflog_walk_info_release(revs->reflog_info);
index 9fab0d779bb6cf32dbc0ece0a69ad2c2821a598e..e8456831e8ba1a3ff2009ff6339459f6c00055da 100755 (executable)
@@ -5,6 +5,7 @@ test_description='git rebase with its hook(s)'
 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 '
index b5c281edaa7037097f3c8fad28c1bb1994607a20..3ee27e277dca1cd95484ec9ef3b1251e38b22dde 100755 (executable)
@@ -8,6 +8,7 @@ test_description='test --stat output of various commands'
 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-terminal.sh