[New-bugs-announce] [issue19327] re doesn't work with big charsets

Serhiy Storchaka report at bugs.python.org
Mon Oct 21 13:24:02 CEST 2013

New submission from Serhiy Storchaka:

>>> import re
>>> re.compile('[%s]' % ''.join(map(chr, range(256, 2**16, 255))))
Traceback (most recent call last):
  File "/home/serhiy/py/cpython/Lib/sre_compile.py", line 211, in _optimize_charset
    charmap[fixup(av)] = 1
IndexError: list assignment index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/serhiy/py/cpython/Lib/re.py", line 213, in compile
    return _compile(pattern, flags)
  File "/home/serhiy/py/cpython/Lib/re.py", line 280, in _compile
    p = sre_compile.compile(pattern, flags)
  File "/home/serhiy/py/cpython/Lib/sre_compile.py", line 489, in compile
    code = _code(p, flags)
  File "/home/serhiy/py/cpython/Lib/sre_compile.py", line 471, in _code
    _compile_info(code, p, flags)
  File "/home/serhiy/py/cpython/Lib/sre_compile.py", line 459, in _compile_info
    _compile_charset(charset, flags, code)
  File "/home/serhiy/py/cpython/Lib/sre_compile.py", line 177, in _compile_charset
    for op, av in _optimize_charset(charset, fixup):
  File "/home/serhiy/py/cpython/Lib/sre_compile.py", line 220, in _optimize_charset
    return _optimize_unicode(charset, fixup)
  File "/home/serhiy/py/cpython/Lib/sre_compile.py", line 342, in _optimize_unicode
    mapping = array.array('b', mapping).tobytes()
OverflowError: signed char is greater than maximum

assignee: serhiy.storchaka
components: Library (Lib), Regular Expressions
files: re_bigcharset.patch
keywords: patch
messages: 200747
nosy: ezio.melotti, mrabarnett, serhiy.storchaka
priority: normal
severity: normal
stage: patch review
status: open
title: re doesn't work with big charsets
type: behavior
versions: Python 2.7, Python 3.3, Python 3.4
Added file: http://bugs.python.org/file32277/re_bigcharset.patch

Python tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list