Browse Source

fsck: treat a NUL in a tag header as an error

We check the return value of verify_header() for commits already, so do
the same for tags as well.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Jeff King <peff@peff.net>
maint
René Scharfe 9 years ago committed by Jeff King
parent
commit
8a272f291a
  1. 3
      fsck.c
  2. 2
      t/t1450-fsck.sh

3
fsck.c

@ -711,7 +711,8 @@ static int fsck_tag_buffer(struct tag *tag, const char *data, @@ -711,7 +711,8 @@ static int fsck_tag_buffer(struct tag *tag, const char *data,
}
}

if (verify_headers(buffer, size, &tag->object, options))
ret = verify_headers(buffer, size, &tag->object, options);
if (ret)
goto done;

if (!skip_prefix(buffer, "object ", &buffer)) {

2
t/t1450-fsck.sh

@ -288,7 +288,7 @@ test_expect_success 'tag with bad tagger' ' @@ -288,7 +288,7 @@ test_expect_success 'tag with bad tagger' '
grep "error in tag .*: invalid author/committer" out
'

test_expect_failure 'tag with NUL in header' '
test_expect_success 'tag with NUL in header' '
sha=$(git rev-parse HEAD) &&
q_to_nul >tag-NUL-header <<-EOF &&
object $sha

Loading…
Cancel
Save