|
From: Vlad H. <hv...@us...> - 2006-02-28 16:11:06
|
> Send me drwatson.log, please. If you zip it - change .zip extension or
> SF will not passed this mail.
I've received it, thanks. What i can see :
AV occurs in evl_string.h, line 98
template <typename CharType>
static void preKmp(const CharType *x, int m, SLONG kmpNext[])
{
SLONG i = 0;
SLONG j = kmpNext[0] = -1;
while (i < m) {
while (j > -1 && x[i] != x[j])
j = kmpNext[j];
i++;
j++;
if (x[i] == x[j]) // AV here
kmpNext[i] = kmpNext[j];
else
kmpNext[i] = j;
}
}
Some variables at AV time : m == 0x80, i == 0x80, j == 0x00
Since i must be in range 0..0x7F (0..m-1) we have an AV when x[i] evaluated
As i understand this is a part of CONTAINING evaluation. The algorithm
was written by Nickolay and i unfortunately have no knowledge of how it must
work. May be Adriano can say more ?
Regards,
Vlad
PS Test case will be much appreciated
|