Re: [PATCH v2 4/6] fsck: check tag objects' headers
From: Junio C Hamano <hidden>
Date: 2016-06-15 23:02:28
Johannes Schindelin [off-list ref] 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; +} +