Jeff King <peff@xxxxxxxx> writes: > 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@xxxxxxxxx> Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> -- 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