From: Junio C Hamano Date: Tue, 03 May 2005 08:28:11 GMT Subject: [PATCH] fsck-cache segfaults on a tag referring to a missing object. Message-ID: <7vzmvcww6c.fsf@assigned-by-dhcp.cox.net> I do not understand the comment about ignoring tag reachability in check_connectivity(), but fsck_tag() fails to notice that a parsing of tag may have failed in the parse_object() call in fsck_sha1() before it is called, in which case it can get a tag object with NULL in the tagged field and segfault. Here is a patch to fix this. Signed-off-by: Junio C Hamano --- P.S. Since this is probably more urgent than other fixes I've been bugging you about, I am sending this via e-mail, not as a GIT pull request, but I have a couple more update there, along with updated HEAD. --- a/fsck-cache.c +++ b/fsck-cache.c @@ -136,6 +136,12 @@ static int fsck_tag(struct tag *tag) if (!show_tags) return 0; + if (!tag->tagged) { + printf("bad referenced object in tag %s\n", + sha1_to_hex(tag->object.sha1)); + return 0; + } + printf("tagged %s %s", tag->tagged->type, sha1_to_hex(tag->tagged->sha1)); ----------------------------------------------------------------