From 8c29b497946fde2a6ef597d960a05d3dd36dcbf0 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Thu, 4 Feb 2021 20:07:49 +0000 Subject: range-diff: avoid leaking memory in two error code paths 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 Signed-off-by: Junio C Hamano --- range-diff.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'range-diff.c') diff --git a/range-diff.c b/range-diff.c index b9950f10c8..a4d7a90dde 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); -- cgit v1.2.3