[PATCH v2 1/6] range-diff: avoid leaking memory in two error code paths
- From
Johannes Schindelin via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Feb 5, 2021, 14:46 UTC
- Message-ID
- <15f4f6abdaa206ca9b89f4f2444b88a77ef1060c.1612536373.git.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.869.v2.git.1612536373.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 7a38dc871543..9972808fe4cf 100644 --- a/range-diff.c +++ b/range-diff.c @@ -98,6 +98,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); @@ -113,6 +114,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