Fix invalid read in quote_c_style_counted
authorJeff King <peff@peff.net>
Mon, 1 Feb 2010 13:39:03 +0000 (08:39 -0500)
committerJunio C Hamano <gitster@pobox.com>
Sat, 6 Feb 2010 18:55:03 +0000 (10:55 -0800)
commit8424981934c415bd20643de9cc932bd348dfb115
tree13f59513d4c5c227bfac6d51c45e8c4e997379be
parentd2d66f15b620c8e96219cfe339f32e77bfaf69b4
Fix invalid read in quote_c_style_counted

This function did not work on strings that were not NUL-terminated. It
reads through a length-bounded string, searching for characters in need of
quoting. After we find one, we output the quoted character, then advance
our pointer to find the next one. However, we never decremented the
length, meaning we ended up looking at whatever random junk was stored
after the string.

This bug was not found by the existing tests because most code paths feed
a NUL-terminated string. The notable exception is a directory name being
fed by ls-tree.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
quote.c
t/t3902-quoted.sh