[PATCH] graph: avoid infinite loop in graph_show_commit()
From: Nguyễn Thái Ngọc Duy <hidden>
Date: 2016-06-15 22:54:50
The loop can be triggered with "git diff-tree --graph commit" where the commit is a non-merge. It goes like this - graph_show_commit - graph_next_line - graph_output_padding_line The last function quits because graph->commit is NULL, but graph_next_line() does not return "shown", so the loop in graph_show_commit keeps going. Signed-off-by: Nguyễn Thái Ngọc Duy <redacted> --- Corner case. Nobody sane would do that. But still worth plugging. graph.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/graph.c b/graph.c
index e864fe2..1735b26 100644
--- a/graph.c
+++ b/graph.c@@ -1224,7 +1224,7 @@ void graph_show_commit(struct git_graph *graph) struct strbuf msgbuf = STRBUF_INIT; int shown_commit_line = 0; - if (!graph) + if (!graph || !graph->commit) return; while (!shown_commit_line) {
--
1.7.12.1.389.gc2218b5