diff options
author | René Scharfe <l.s.r@web.de> | 2015-11-19 17:25:31 +0100 |
---|---|---|
committer | Jeff King <peff@peff.net> | 2015-11-20 08:02:07 -0500 |
commit | 8a272f291a34dcc01bad174922de5fd4c9df2cee (patch) | |
tree | 234c9ddc6b18ef2a278f8bff211b203816b57006 | |
parent | 80c7f5a011416f4893c8e395bbf9f841a6dd624e (diff) | |
download | git-8a272f291a34dcc01bad174922de5fd4c9df2cee.tar.gz |
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>
-rw-r--r-- | fsck.c | 3 | ||||
-rwxr-xr-x | t/t1450-fsck.sh | 2 |
2 files changed, 3 insertions, 2 deletions
@@ -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)) { diff --git a/t/t1450-fsck.sh b/t/t1450-fsck.sh index 6c96953628..e66b7cb697 100755 --- a/t/t1450-fsck.sh +++ b/t/t1450-fsck.sh @@ -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 |