[PATCH] fsck: do not crash on tag objects which do not contain an empty line
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jun 7, 2007, 22:40 UTC
- Message-ID
- <Pine.LNX.4.64.0706072338260.4046@racer.site>
The first empty line in a tag object separates the header from the message. If the tag object has no empty line, do not crash, but complain loudly instead.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> ---
I have no idea how this tag crept into one of my repos, but it is no good to crash for git-fsck.
builtin-fsck.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/builtin-fsck.c b/builtin-fsck.c index 7a92e47..607136a 100644 --- a/builtin-fsck.c +++ b/builtin-fsck.c @@ -545,9 +545,14 @@ static void fsck_verify_ref_to_tag_object(const char *refname, struct object *ob { /* Verify that refname matches the name stored in obj's "tag" header */ struct tag *tagobj = (struct tag *) parse_object(obj->sha1); - size_t tagname_len = strlen(tagobj->tag); + size_t tagname_len; size_t refname_len = strlen(refname); + if (!tagobj->tag) { + error("tag %s does not contain any tag?", refname); + return; + } + tagname_len = strlen(tagobj->tag); if (!tagname_len) return; /* No tag name stored in tagobj. Nothing to do. */ if (tagname_len < refname_len &&
-- 1.5.2.1.2683.gab86-dirty