From: Johan Herland Date: Sat, 09 Jun 2007 00:14:11 GMT Subject: [PATCH 04/21] Refactor verification of "tagger" line to be more similar to verification of "type" and "tagger" lines Message-ID: <200706090214.11589.johan@herland.net> In-Reply-To: <200706090210.36270.johan@herland.net> Also update selftests to reflect that verification of "tagger" now happens _before_ verification of type name, object sha1 and tag name. Signed-off-by: Johan Herland --- mktag.c | 16 ++++++++-------- t/t3800-mktag.sh | 3 +++ tag.c | 6 +++--- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/mktag.c b/mktag.c index 0bc20c8..4dbefab 100644 --- a/mktag.c +++ b/mktag.c @@ -62,12 +62,18 @@ static int verify_tag(char *data, unsigned long size) /* Verify tag-line */ tag_line = strchr(type_line, '\n'); - if (!tag_line) + if (!tag_line++) return error("char" PD_FMT ": could not find next \"\\n\"", type_line - data); - tag_line++; if (memcmp(tag_line, "tag ", 4) || tag_line[4] == '\n') return error("char" PD_FMT ": no \"tag \" found", tag_line - data); + /* Verify the tagger line */ + tagger_line = strchr(tag_line, '\n'); + if (!tagger_line++) + return error("char" PD_FMT ": could not find next \"\\n\"", tag_line - data); + if (memcmp(tagger_line, "tagger ", 7) || (tagger_line[7] == '\n')) + return error("char" PD_FMT ": could not find \"tagger\"", tagger_line - data); + /* Get the actual type */ type_len = tag_line - type_line - strlen("type \n"); if (type_len >= sizeof(type)) @@ -90,12 +96,6 @@ static int verify_tag(char *data, unsigned long size) return error("char" PD_FMT ": could not verify tag name", tag_line - data); } - /* Verify the tagger line */ - tagger_line = tag_line; - - if (memcmp(tagger_line, "tagger", 6) || (tagger_line[6] == '\n')) - return error("char" PD_FMT ": could not find \"tagger\"", tagger_line - data); - /* TODO: check for committer info + blank line? */ /* Also, the minimum length is probably + "tagger .", or 63+8=71 */ diff --git a/t/t3800-mktag.sh b/t/t3800-mktag.sh index 7c7e433..b4edb4d 100755 --- a/t/t3800-mktag.sh +++ b/t/t3800-mktag.sh @@ -133,6 +133,7 @@ cat >tag.sig <expect.pat <tag.sig <expect.pat <tag.sig <expect.pat <