From: Johannes Schindelin Date: Wed, 19 Nov 2008 00:53:45 GMT Subject: Re: [PATCH] Fix deletion of last character in levenshtein distance Message-ID: In-Reply-To: <20081118185326.12721.71576.stgit@arrakis.enst.fr> Hi, On Tue, 18 Nov 2008, Samuel Tardieu wrote: > diff --git a/levenshtein.c b/levenshtein.c > index db52f2c..98fea72 100644 > --- a/levenshtein.c > +++ b/levenshtein.c > @@ -25,7 +25,7 @@ int levenshtein(const char *string1, const char *string2, > row2[j + 1] > row0[j - 1] + w) > row2[j + 1] = row0[j - 1] + w; > /* deletion */ > - if (j + 1 < len2 && row2[j + 1] > row1[j + 1] + d) > + if (row2[j + 1] > row1[j + 1] + d) I do not understand: does row2 have more entries than len2? In any case, you will _have_ to guard against accessing elements outside the reserved memory. You'll have to be more convincing to make me agree that this is a good change, and I am pretty certain that other people are less familiar with that particular part of Git's source code than me. Ciao, Dscho