ID: 39387
Updated by: [EMAIL PROTECTED]
Reported By: php at vicaya dot com
-Status: Open
+Status: Assigned
Bug Type: PCRE related
Operating System: Linux/amd64
PHP Version: 5.2.0
-Assigned To:
+Assigned To: andrei
Previous Comments:
------------------------------------------------------------------------
[2006-11-05 00:49:43] php at vicaya dot com
Description:
------------
Both PHP 5.2.0 (pcre 6.7) and 5.1.6 (pcre 6.6) have this problem:
A working pattern segfaults on certain user data. Could be stack
overflow in pcre_exec/match.
This patterns is almost straight from the documentation:
/\{(?:(?>[^{}]+)|(?R))+\}/Us
Basically to match nested {} (instead of parentheses)
I found a simple workaround to the particular problem I have, but the
code should not segfault.
Note if you change the 12000 in the code to anything less than 8158, it
will produce the correct result.
Reproduce code:
---------------
<?= preg_match('/{(?:(?>[^{}]+)|(?R))+}/Us',
'{open'. str_repeat('.', 12000) .'{open}'), "\n"?>
Expected result:
----------------
1
Actual result:
--------------
Segmentation fault
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=39387&edit=1