Re: [PATCH 3/3] Do not create commits whose message contains NUL
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Dec 15, 2011, 18:46 UTC
- Message-ID
- <7vehw5oepj.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <20111214182953.GA6469@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 7 quoted lines
> I'm happy to ignore custom programs linking against internal git code, > but what should "git commit-tree" do? > > My gut feeling is that it should store the literal binary contents. > However, I don't think this has ever been the case. Even in the initial > version of commit-tree.c, we read the input line-by-line and sprintf it > into place.
Yeah, you are right. Perhaps we should tweak updated 3/3 to check at the lower level commit_tree() then.
I've rewrote the log message for 2/3 as follows so we can go either way ;-)
Convert commit_tree() to take strbuf as message
There wan't a way for commit_tree() to notice if the message the caller
prepared contained a NUL byte, as it did not take the length of the
message as a parameter. Use a pointer to a strbuf instead, so that we can
either choose to allow low-level plumbing commands to make commits
that contain NUL byte in its message, or forbid NUL everywhere by
adding the check in commit_tree(), in later patches.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>