From: Florent Xicluna Date: Sun, 8 Aug 2010 22:07:16 +0000 (+0000) Subject: Fix #8530: Prevent stringlib fastsearch from reading beyond the front of an array. X-Git-Tag: v3.2a2~412 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=eb6f3ead00f1cccffafba03245861a4d6bd84346;p=thirdparty%2FPython%2Fcpython.git Fix #8530: Prevent stringlib fastsearch from reading beyond the front of an array. --- diff --git a/Misc/NEWS b/Misc/NEWS index 9f3d80a63d42..7aba37d83eab 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -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. diff --git a/Objects/stringlib/fastsearch.h b/Objects/stringlib/fastsearch.h index 7525951c0650..e231c587e476 100644 --- a/Objects/stringlib/fastsearch.h +++ b/Objects/stringlib/fastsearch.h @@ -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; } }