#40706 [Com]: preg_match crash
| From: | bmihelac at mihelac dot org | Date: | Sun, 04 Mar 2007 13:47:52 +0000 |
| Subject: | #40706 [Com]: preg_match crash | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-109859@lists.php.net to get a copy of this message | ||
ID: 40706
Comment by: bmihelac at mihelac dot org
Reported By: askold2 at velo dot nsk dot ru
Status: Open
Bug Type: PCRE related
Operating System: any
PHP Version: 4.4.6
New Comment:
I have similiar problem both on linux and windows. On windows it
crashes PHP without any error notices. I am not sure if it crash PHP on
linux/unix.
Seems that regex with nested parenthesizes are especially vunerable,
for example:
$pattern = '/"([^"\\\\]*(?:(?:\\\\.)*[^"\\\\]*)*)"/';
Previous Comments:
------------------------------------------------------------------------
[2007-03-03 15:12:45] askold2 at velo dot nsk dot ru
Description:
------------
the regular expression like ((any text)*(other text)*)* produce the
hang or crash of PHP program. In the previous versions of php all
worked properly.
Reproduce code:
---------------
$subj="sdfgsdg";
if(preg_match('/^((a)*(b)*)*$/',$subj))
echo "match";
else
echo "not match";
Expected result:
----------------
"match" or "not match" printing
Actual result:
--------------
nothing. the hung of script on my unux hosting and breaking program in
windows
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=40706&edit=1