[PATCH] revision: fix missing null for freed memory
- From
Emily M Klassen <forivall@gmail.com>
- Date
- Feb 8, 2025, 06:17 UTC
- Message-ID
- <20250208061702.88469-1-forivall@gmail.com>
"git log --graph --no-graph" missed cleaning up the output_prefix and output_prefix_data pointers. This resulted in a segfault when using "--patch", "--name-status" or "--name-only", as the output_prefix_data continued to be in use after free()
Signed-off-by: Emily M Klassen <forivall@gmail.com> --- I previously reported this a few hours ago, and ended up digging in and figuring it out. I'll make sure to bottom reply in the follow ups to this patch.
revision.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/revision.c b/revision.c index 474fa1e767..84cb028e11 100644 --- a/revision.c +++ b/revision.c @@ -2615,6 +2615,8 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg graph_clear(revs->graph); revs->graph = graph_init(revs); } else if (!strcmp(arg, "--no-graph")) { + revs->diffopt.output_prefix = NULL; + revs->diffopt.output_prefix_data = NULL; graph_clear(revs->graph); revs->graph = NULL; } else if (!strcmp(arg, "--encode-email-headers")) {
-- 2.48.1