From 06cd3b94b27c285fc9877e7c6d9e1f35fbc0a7a4 Mon Sep 17 00:00:00 2001
From: Petr Baudis <pasky@ucw.cz>
Date: Wed, 11 May 2005 23:01:20 +0200
Subject: [PATCH] rev-tree now handles commit problems better

This fixes possible crashes in case of broken commit tree, and makes
rev-tree die in case it cannot parse a given commit.
---
 rev-tree.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/rev-tree.c b/rev-tree.c
index bfc8b12579..c2909da172 100644
--- a/rev-tree.c
+++ b/rev-tree.c
@@ -51,11 +51,11 @@ void process_commit(unsigned char *sha1)
 	struct commit_list *parents;
 	struct commit *obj = lookup_commit(sha1);
 
-	if (obj->object.parsed)
+	if (obj && obj->object.parsed)
 		return;
+	if (!obj || parse_commit(obj))
+		die("unable to parse commit (%s)", sha1_to_hex(sha1));
 
-	parse_commit(obj);
-	
 	parents = obj->parents;
 	while (parents) {
 		process_commit(parents->item->object.sha1);
-- 
2.40.0