From: Junio C Hamano Date: Tue, 06 Dec 2011 15:06:12 GMT Subject: Re: [PATCH] Set hard limit on delta chain depth Message-ID: <7vvcpthh97.fsf@alter.siamese.dyndns.org> In-Reply-To: <1323068688-31481-1-git-send-email-pclouds@gmail.com> Nguyễn Thái Ngọc Duy writes: > Too deep delta chains can cause stack overflow in get_base_data(). Set > a hard limit so that index-pack does not run out of stack. Also stop > people from producing such a long delta chains using "pack-object > --depth=" > > Signed-off-by: Nguyễn Thái Ngọc Duy > --- > I used to make very long delta chains and triggered this in index-pack. > I did not care reporting because it's my fault anyway. Think again, > index-pack is called at server side and a malicious client can > trigger this. This patch does not improve the situation much, but at > least we won't get sigsegv at server side. Why should we treat this condition any differently from the case where the sender of a pack used beefier machine than you have and stuffed a huge object that the index-pack running on your box cannot hold in core, causing xmalloc() to die on your machine? I do not think this is the right way to handle the issue. Your other patch to flatten the recursion to iteration looked a lot saner approach.