From: Junio C Hamano Date: Mon, 26 Mar 2012 04:34:28 GMT Subject: Re: git show loop Message-ID: <7v7gy8rne3.fsf@alter.siamese.dyndns.org> In-Reply-To: <4F6DE5D6.4010408@lsrfire.ath.cx> René Scharfe writes: > Subject: [PATCH] combine-diff: fix loop index underflow > > If both la and context are zero at the start of the loop, la wraps around > and we end up reading from memory far away. Skip the loop in that case > instead. > > Reported-by: Julia Lawall > Signed-off-by: Rene Scharfe > --- Thanks. This dates back to 1.3.0. Will queue. > combine-diff.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/combine-diff.c b/combine-diff.c > index a2e8dcf..9786680 100644 > --- a/combine-diff.c > +++ b/combine-diff.c > @@ -423,7 +423,7 @@ static int make_hunks(struct sline *sline, unsigned long cnt, > hunk_begin, j); > la = (la + context < cnt + 1) ? > (la + context) : cnt + 1; > - while (j <= --la) { > + while (la && j <= --la) { > if (sline[la].flag & mark) { > contin = 1; > break;