index-pack: terminate object buffers with NUL
commita1e920a0a7747f0820e62b22b67fd36fb1d74607
authorDuy Nguyen <pclouds@gmail.com>
Mon, 8 Dec 2014 14:17:55 +0000 (8 15:17 +0100)
committerJunio C Hamano <gitster@pobox.com>
Tue, 9 Dec 2014 19:56:37 +0000 (9 11:56 -0800)
treece4725cc0d17d78462335824a7719052034654ec
parent7add441984063d2c34fa8de252b8ceb803e7981a
index-pack: terminate object buffers with NUL

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.

Jeff "Peff" King contributed the detailed analysis which call paths are
involved and pointed out that we also have to patch the get_data()
function in unpack-objects.c, which is what Johannes "Dscho" Schindelin
implemented.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Analyzed-by: Jeff King <peff@peff.net>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/index-pack.c
builtin/unpack-objects.c