From: Junio C Hamano Date: Wed, 10 Sep 2014 17:52:38 GMT Subject: Re: [PATCH v2 4/6] fsck: check tag objects' headers Message-ID: In-Reply-To: Johannes Schindelin writes: > + if (!skip_prefix(buffer, "tag ", &buffer)) { > + ret = error_func(&tag->object, FSCK_ERROR, "invalid format - expected 'tag' line"); > + goto done; > + } > + eol = strchr(buffer, '\n'); > + if (!eol) { > + ret = error_func(&tag->object, FSCK_ERROR, "invalid format - unexpected end after 'type' line"); > + goto done; > + } > + strbuf_addf(&sb, "refs/tags/%.*s", (int)(eol - buffer), buffer); > + if (check_refname_format(sb.buf, 0)) > + error_func(&tag->object, FSCK_WARN, "invalid 'tag' name: %s", buffer); > + buffer = eol + 1; > + > + if (!skip_prefix(buffer, "tagger ", &buffer)) { > + /* early tags do not contain 'tagger' lines; warn only */ > + error_func(&tag->object, FSCK_WARN, "invalid format - expected 'tagger' line"); > + } > + ret = fsck_ident(&buffer, &tag->object, error_func); Shouldn't this relate to the above conditional, to skip ident check on early tags that lack tagger lines? > + > +done: > + free(to_free); strbuf_release(&sb) here? > + return ret; > +} > +