diff options
author | Jeff King <peff@peff.net> | 2017-09-05 09:04:10 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-09-06 18:06:26 +0900 |
commit | fe6a01af8aa913fc23c1486251da6f6f08601816 (patch) | |
tree | a89f3e6e8fd50adc1814acb60cf840f0c61e3cc5 | |
parent | test-lib: set LSAN_OPTIONS to abort by default (diff) | |
download | tgif-fe6a01af8aa913fc23c1486251da6f6f08601816.tar.xz |
add: free leaked pathspec after add_files_to_cache()
After run_diff_files, we throw away the rev_info struct,
including the pathspec that we copied into it, leaking the
memory. this is probably not a big deal in practice. We
usually only run this once per process, and the leak is
proportional to the pathspec list we're already holding in
memory.
But it's still a leak, and it pollutes leak-checker output,
making it harder to find important leaks.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin/add.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/builtin/add.c b/builtin/add.c index c20548e4f5..ef625e3fb8 100644 --- a/builtin/add.c +++ b/builtin/add.c @@ -119,6 +119,7 @@ int add_files_to_cache(const char *prefix, rev.diffopt.flags |= DIFF_OPT_OVERRIDE_SUBMODULE_CONFIG; rev.max_count = 0; /* do not compare unmerged paths with stage #2 */ run_diff_files(&rev, DIFF_RACY_IS_MODIFIED); + clear_pathspec(&rev.prune_data); return !!data.add_errors; } |