From: Nguyễn Thái Ngọc Duy Date: Sat, 22 Sep 2012 14:24:40 GMT Subject: [PATCH] graph: avoid infinite loop in graph_show_commit() Message-ID: <1348323880-3751-1-git-send-email-pclouds@gmail.com> 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 --- 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