summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 54c26fb)
raw | patch | inline | side by side (parent: 54c26fb)
author | Linus Torvalds <torvalds@ppc970.osdl.org> | |
Tue, 3 May 2005 14:57:56 +0000 (07:57 -0700) | ||
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | |
Tue, 3 May 2005 14:57:56 +0000 (07:57 -0700) |
fsck_tag() failes to notice that the parsing of the tag may
have failed in the parse_object() call on the object that it
is tagging.
Noticed by Junio.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
have failed in the parse_object() call on the object that it
is tagging.
Noticed by Junio.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fsck-cache.c | patch | blob | history |
diff --git a/fsck-cache.c b/fsck-cache.c
index 637aededbdc0a321519ecdaeeb6da61ce71319d5..fb0d82f3320b7971d50d73893d777e3ddf1bd73b 100644 (file)
--- a/fsck-cache.c
+++ b/fsck-cache.c
static int fsck_tag(struct tag *tag)
{
+ struct object *tagged = tag->tagged;
+
+ if (!tagged) {
+ printf("bad object in tag %s\n", sha1_to_hex(tag->object.sha1));
+ return -1;
+ }
if (!show_tags)
return 0;
- printf("tagged %s %s",
- tag->tagged->type,
- sha1_to_hex(tag->tagged->sha1));
- printf(" (%s) in %s\n",
- tag->tag, sha1_to_hex(tag->object.sha1));
+ printf("tagged %s %s", tagged->type, sha1_to_hex(tagged->sha1));
+ printf(" (%s) in %s\n", tag->tag, sha1_to_hex(tag->object.sha1));
return 0;
}