[PATCH 1/6] range-diff: avoid leaking memory in two error code paths
- From
Johannes Schindelin via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Feb 4, 2021, 20:07 UTC
- Message-ID
- <5f2f06b79e208b68f3c753538f2b081729765b82.1612469275.git.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.869.git.1612469275.gitgitgadget@gmail.com>
From: Johannes Schindelin <johannes.schindelin@gmx.de>
In the code paths in question, we already release a lot of memory, but the `current_filename` variable was missed. Fix that.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> --- range-diff.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/range-diff.c b/range-diff.c index 0c6ac4f954d1..963cdecb4cbb 100644 --- a/range-diff.c +++ b/range-diff.c @@ -97,6 +97,7 @@ static int read_patches(const char *range, struct string_list *list, if (get_oid(p, &util->oid)) { error(_("could not parse commit '%s'"), p); free(util); + free(current_filename); string_list_clear(list, 1); strbuf_release(&buf); strbuf_release(&contents); @@ -112,6 +113,7 @@ static int read_patches(const char *range, struct string_list *list, error(_("could not parse first line of `log` output: " "did not start with 'commit ': '%s'"), line); + free(current_filename); string_list_clear(list, 1); strbuf_release(&buf); strbuf_release(&contents);
-- gitgitgadget