]> git.ipfire.org Git - thirdparty/git.git/commitdiff
fsck: treat a NUL in a tag header as an error
authorRené Scharfe <l.s.r@web.de>
Thu, 19 Nov 2015 16:25:31 +0000 (17:25 +0100)
committerJeff King <peff@peff.net>
Fri, 20 Nov 2015 13:02:07 +0000 (08:02 -0500)
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>
fsck.c
t/t1450-fsck.sh

diff --git a/fsck.c b/fsck.c
index e41e753d6dcbb577148260a1392210d50fb0b325..4060f1f551bec0b42359a0c4b7a0670ab08cdf11 100644 (file)
--- a/fsck.c
+++ b/fsck.c
@@ -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)) {
index 6c9695362894df00570a405c9c10f1f295f9bc5d..e66b7cb697bc8a4ef7268e5d8d29f0b69a8ac213 100755 (executable)
@@ -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