fsck-objects: do not segfault on missing tree in cache-tree
authorJunio C Hamano <junkio@cox.net>
Thu, 4 May 2006 04:17:45 +0000 (21:17 -0700)
committerJunio C Hamano <junkio@cox.net>
Thu, 4 May 2006 04:17:45 +0000 (21:17 -0700)
Even if trees are missing in cache-tree, we should continue and
check the rest of the object database.

Signed-off-by: Junio C Hamano <junkio@cox.net>
fsck-objects.c

index 98421aa..1922b6d 100644 (file)
@@ -446,6 +446,11 @@ static int fsck_cache_tree(struct cache_tree *it)
 
        if (0 <= it->entry_count) {
                struct object *obj = parse_object(it->sha1);
+               if (!obj) {
+                       error("%s: invalid sha1 pointer in cache-tree",
+                             sha1_to_hex(it->sha1));
+                       return 1;
+               }
                mark_reachable(obj, REACHABLE);
                obj->used = 1;
                if (obj->type != tree_type)