On Wed, Nov 23, 2011 at 06:40:47PM +0100, Henrik Grubbström wrote:
Hi.
My git repository walker just got bitten by what seems to be a
reasonably new bug in convert.c:cascade_filter_fn() (git 1.7.8.rc3
(gentoo)).
It looks like it's a bug between cascade_filter_fn and the actual
filter function lf_to_crlf_filter_fn that gets triggered when the
output buffer is too small. In this particular case, *isize_p=378 and
*osize_p=1 which causes cascade_filter_fn to feed the filter data
which it can't process because it doesn't have anywhere to put it.
I think that the function assumes that the output buffer is always
large enough, but there are many indirections, so it might be an
off-by-one.
How to reproduce:
git clone git@github.com:pikelang/Pike.git
git checkout -f 0e2080f838c6f0bc7d670ac7549676a353451dca^
git checkout -f 0e2080f838c6f0bc7d670ac7549676a353451dca
The first two commands complete as expected, while the last hangs forever.
Performing the same with git 1.7.6.4 works as expected.
The problematic file seems to be
/src/modules/_Crypto/rijndael_ecb_vt.txt which has the attributes:
text ident eol=crlf
Thanks,
--
Henrik Grubbström grubba@grubba.org
Roxen Internet Software AB grubba@roxen.com