Don't coredump on bad refs in update-server-info.
authorShawn O. Pearce <spearce@spearce.org>
Wed, 31 Jan 2007 07:24:44 +0000 (02:24 -0500)
committerJunio C Hamano <junkio@cox.net>
Wed, 31 Jan 2007 21:09:58 +0000 (13:09 -0800)
Apparently if we are unable to parse an object update-server-info
coredumps, as it doesn't bother to check the return value of its
call to parse_object.

Instead of coredumping, skip the ref.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
server-info.c

index 6cd38be3291e95e75a7d2348e825d49c8f7ad2af..f9be5a7f60c1cc5208e7c91367ecb28014106f18 100644 (file)
@@ -10,6 +10,8 @@ static FILE *info_ref_fp;
 static int add_info_ref(const char *path, const unsigned char *sha1, int flag, void *cb_data)
 {
        struct object *o = parse_object(sha1);
+       if (!o)
+               return -1;
 
        fprintf(info_ref_fp, "%s        %s\n", sha1_to_hex(sha1), path);
        if (o->type == OBJ_TAG) {