From: John Keeping Date: Sat, 16 Jan 2016 11:03:05 +0000 (+0000) Subject: ui-log: handle parse_commit() errors X-Git-Tag: v1.0~38 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=baa5ad1f80f56d3c0b0095bfb468fab28c9b4982;p=cgit ui-log: handle parse_commit() errors If parse_commit() fails, none of the fields in the commit structure will have been populated so we will dereference NULL when accessing item->tree. There isn't much we can do about the error at this point, but if we return true then we'll try parsing the commit again from print_commit() and we can report an error to the user at that point. Coverity-id: 13801 Signed-off-by: John Keeping --- diff --git a/ui-log.c b/ui-log.c index 4573255..a4dc707 100644 --- a/ui-log.c +++ b/ui-log.c @@ -141,7 +141,9 @@ static int show_commit(struct commit *commit, struct rev_info *revs) /* When we get here we have precisely one parent. */ parent = parents->item; - parse_commit(parent); + /* If we can't parse the commit, let print_commit() report an error. */ + if (parse_commit(parent)) + return 1; files = 0; add_lines = 0;