summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2013-10-24 19:04:37 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2013-10-24 19:04:37 (GMT)
commit8b150ecfc9a57fb2d564381464bb04c9a94ee053 (patch)
tree51011ee81a175f761a8ebb10a593f6d792945ba2 /Modules
parente5019d5183041f4f75cf4a30b2dc84eed347425e (diff)
parentbe80fc9a843e3c51d1030d3eab52d6287e5aef3a (diff)
downloadcpython-8b150ecfc9a57fb2d564381464bb04c9a94ee053.zip
cpython-8b150ecfc9a57fb2d564381464bb04c9a94ee053.tar.gz
cpython-8b150ecfc9a57fb2d564381464bb04c9a94ee053.tar.bz2
Issue #19327: Fixed the working of regular expressions with too big charset.
Diffstat (limited to 'Modules')
-rw-r--r--Modules/_sre.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/Modules/_sre.c b/Modules/_sre.c
index 84330ef..dd9d664 100644
--- a/Modules/_sre.c
+++ b/Modules/_sre.c
@@ -447,7 +447,7 @@ SRE_CHARSET(SRE_CODE* set, SRE_CODE ch)
count = *(set++);
if (sizeof(SRE_CODE) == 2) {
- block = ((char*)set)[ch >> 8];
+ block = ((unsigned char*)set)[ch >> 8];
set += 128;
if (set[block*16 + ((ch & 255)>>4)] & (1 << (ch & 15)))
return ok;
@@ -457,7 +457,7 @@ SRE_CHARSET(SRE_CODE* set, SRE_CODE ch)
/* !(c & ~N) == (c < N+1) for any unsigned c, this avoids
* warnings when c's type supports only numbers < N+1 */
if (!(ch & ~65535))
- block = ((char*)set)[ch >> 8];
+ block = ((unsigned char*)set)[ch >> 8];
else
block = -1;
set += 64;