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>
Jeff King committed
Sep 5, 2017 at 09:04 UTC
fe6a01af8aa913fc23c1486251da6f6f08601816
1 file changed
+1
builtin/add.c
+1
@@ -119,6 +119,7 @@ int add_files_to_cache(const char *prefix,
119
rev.diffopt.flags |= DIFF_OPT_OVERRIDE_SUBMODULE_CONFIG;
120
rev.max_count = 0; /* do not compare unmerged paths with stage #2 */
121
run_diff_files(&rev, DIFF_RACY_IS_MODIFIED);
122
+ clear_pathspec(&rev.prune_data);
123
return !!data.add_errors;
124
}
125