diff options
author | Gustavo Niemeyer <gustavo@niemeyer.net> | 2002-11-07 03:28:56 (GMT) |
---|---|---|
committer | Gustavo Niemeyer <gustavo@niemeyer.net> | 2002-11-07 03:28:56 (GMT) |
commit | c523b04b0f5cf76b503cfbed17fec95f61c1bd2e (patch) | |
tree | 7017f4c0a06d96cce4af10ae4916fb9d032c2628 /Doc/lib/libsets.tex | |
parent | 65fe8dda1588017bb5f15c8ab2fdbfb3b3c0bac7 (diff) | |
download | cpython-c523b04b0f5cf76b503cfbed17fec95f61c1bd2e.zip cpython-c523b04b0f5cf76b503cfbed17fec95f61c1bd2e.tar.gz cpython-c523b04b0f5cf76b503cfbed17fec95f61c1bd2e.tar.bz2 |
Fixed sre bug "[#581080] Provoking infinite scanner loops".
This bug happened because: 1) the scanner_search and scanner_match methods
were not checking the buffer limits before increasing the current pointer;
and 2) SRE_SEARCH was using "if (ptr == end)" as a loop break, instead of
"if (ptr >= end)".
* Modules/_sre.c
(SRE_SEARCH): Check for "ptr >= end" to break loops, so that we don't
hang forever if a pointer passing the buffer limit is used.
(scanner_search,scanner_match): Don't increment the current pointer
if we're going to pass the buffer limit.
* Misc/NEWS
Mention the fix.
Diffstat (limited to 'Doc/lib/libsets.tex')
0 files changed, 0 insertions, 0 deletions