mirror of https://github.com/python/cpython
Fix #8530: Prevent stringlib fastsearch from reading beyond the front of an array.
This commit is contained in:
parent
bddc9fe22b
commit
eb6f3ead00
|
@ -12,6 +12,9 @@ What's New in Python 3.2 Alpha 2?
|
|||
Core and Builtins
|
||||
-----------------
|
||||
|
||||
- Issue #8530: Prevent stringlib fastsearch from reading beyond the front
|
||||
of an array.
|
||||
|
||||
- Issue #5319: Print an error if flushing stdout fails at interpreter
|
||||
shutdown.
|
||||
|
||||
|
|
|
@ -140,13 +140,13 @@ fastsearch(const STRINGLIB_CHAR* s, Py_ssize_t n,
|
|||
/* got a match! */
|
||||
return i;
|
||||
/* miss: check if previous character is part of pattern */
|
||||
if (!STRINGLIB_BLOOM(mask, s[i-1]))
|
||||
if (i > 0 && !STRINGLIB_BLOOM(mask, s[i-1]))
|
||||
i = i - m;
|
||||
else
|
||||
i = i - skip;
|
||||
} else {
|
||||
/* skip: check if previous character is part of pattern */
|
||||
if (!STRINGLIB_BLOOM(mask, s[i-1]))
|
||||
if (i > 0 && !STRINGLIB_BLOOM(mask, s[i-1]))
|
||||
i = i - m;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue