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