[PATCH 1/3] ui-log: handle parse_commit() errors

John Keeping john at keeping.me.uk
Sat Jan 16 12:03:05 CET 2016

If parse_commit() fails, none of the fields in the commit structure will
have been populated so we will dereference NULL when accessing

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 <john at keeping.me.uk>
 ui-log.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

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;

More information about the CGit mailing list