[PATCH] git-fsck-cache: Gracefully handle non-commit IDs
authorJonas Fonseca <fonseca@diku.dk>
Sat, 30 Apr 2005 03:00:40 +0000 (20:00 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Sat, 30 Apr 2005 03:00:40 +0000 (20:00 -0700)
Gracefully handle non-commit IDs instead of segfaulting.

Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fsck-cache.c

index 280a104..164fc2e 100644 (file)
@@ -174,7 +174,14 @@ int main(int argc, char **argv)
                        continue;
 
                if (!get_sha1_hex(arg, head_sha1)) {
-                       struct object *obj = &lookup_commit(head_sha1)->object;
+                       struct commit *commit = lookup_commit(head_sha1);
+                       struct object *obj;
+
+                       /* Error is printed by lookup_commit(). */
+                       if (!commit)
+                               continue;
+
+                       obj = &commit->object;
                        obj->used = 1;
                        mark_reachable(obj, REACHABLE);
                        heads++;