summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorLibravatar Ævar Arnfjörð Bjarmason <avarab@gmail.com>2021-10-07 12:01:36 +0200
committerLibravatar Junio C Hamano <gitster@pobox.com>2021-10-07 15:40:15 -0700
commit272f0a574d97ecd245fb0a9ab63c436e8cfe6a06 (patch)
tree0d97766f702a2879cb96ff281f48599a1275b0f4 /builtin
parentls-files: fix a trivial dir_clear() leak (diff)
downloadtgif-272f0a574d97ecd245fb0a9ab63c436e8cfe6a06.tar.xz
ls-files: add missing string_list_clear()
Fix a memory leak that's been here ever since 72aeb18772d (clean.c, ls-files.c: respect encapsulation of exclude_list_groups, 2013-01-16), we dup'd the argument in option_parse_exclude(), but never freed the string_list. This makes almost all of t3001-ls-files-others-exclude.sh pass (it had a lot of failures before). Let's mark it as passing with TEST_PASSES_SANITIZE_LEAK=true, and then exclude the tests that still failed with a !SANITIZE_LEAK prerequisite check until we fix those leaks. We can still see the failed tests under GIT_TEST_FAIL_PREREQS=true. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r--builtin/ls-files.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/builtin/ls-files.c b/builtin/ls-files.c
index fcc685947f..031fef1bca 100644
--- a/builtin/ls-files.c
+++ b/builtin/ls-files.c
@@ -781,6 +781,7 @@ int cmd_ls_files(int argc, const char **argv, const char *cmd_prefix)
ret = 1;
}
+ string_list_clear(&exclude_list, 0);
dir_clear(&dir);
free(max_prefix);
return ret;