Ensure that fsck only sees NUL-terminated buffers

We have some tricky checks in `fsck` that rely on a side effect of `require_end_of_header()`, and would otherwise easily run outside non-NUL-terminated buffers. This is a bit brittle, so let's make sure that only NUL-terminated buffers are passed around to begin with.