This patch series introduces detailed checking of tag objects when calling git fsck, and also when transfer.fsckobjects is set to true. To this end, the fsck machinery is reworked to accept the buffer and size of the object to check, and for commit and tag objects, we verify that the buffers end in a NUL. This work was sponsored by GitHub. Johannes Schindelin (5): Refactor type_from_string() to avoid die()ing in case of errors fsck: inspect tag objects more closely Add regression tests for stricter tag fsck'ing Refactor out fsck_object_buffer() accepting the object data Make sure that index-pack --strict fails upon invalid tag objects builtin/index-pack.c | 3 +- builtin/unpack-objects.c | 14 ++++-- fsck.c | 109 ++++++++++++++++++++++++++++++++++++++++++++--- fsck.h | 3 ++ object.c | 13 +++++- object.h | 1 + t/t1450-fsck.sh | 39 +++++++++++++++++ t/t5302-pack-index.sh | 19 +++++++++ 8 files changed, 188 insertions(+), 13 deletions(-) -- 2.0.0.rc3.9669.g840d1f9 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html