From:             musha dot yoshinori at nifty dot ne dot jp
Operating system: Windows XP Pro
PHP version:      4.3.3
PHP Bug Type:     PCRE related
Bug description:  forever-running or no-error-abort in preg_match

Description:
------------
PHP aborts without any message or runs forever in below case.
Platform: Windows XP Pro, Apache2.0.46, PHP4.3.3

For example, in preg_match('/a(?:.)+z/',$str,$match), the length of string
matched between 'a' and 'z' is more than approximately 1KB. It always
appears. According to the length, PHP aborts without any message or runs
forever.

It also appears in preg_match('/a(?>.)+z/',$str,$match), but does not
appear in preg_match('/a(.)+z/',$str,$match) and
preg_match('/a.+z/',$str,$match).

Actually, I want to use
preg_match_all('/<tr[^>]*>((?>.(?!<\/tr>))+.)<\/tr>/is',$str,$matches) and
so on.

Reproduce code:
---------------
$str =<<<EOD
a
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
z
EOD;

preg_match('/a(?:.)+z/s',$str,$match);
echo $match[0];
// It cannot reach the 'echo $match[0];'.


Expected result:
----------------
a
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
z


Actual result:
--------------
We cannot get any result.

-- 
Edit bug report at http://bugs.php.net/?id=25798&edit=1
-- 
Try a CVS snapshot (php4):  http://bugs.php.net/fix.php?id=25798&r=trysnapshot4
Try a CVS snapshot (php5):  http://bugs.php.net/fix.php?id=25798&r=trysnapshot5
Fixed in CVS:               http://bugs.php.net/fix.php?id=25798&r=fixedcvs
Fixed in release:           http://bugs.php.net/fix.php?id=25798&r=alreadyfixed
Need backtrace:             http://bugs.php.net/fix.php?id=25798&r=needtrace
Try newer version:          http://bugs.php.net/fix.php?id=25798&r=oldversion
Not developer issue:        http://bugs.php.net/fix.php?id=25798&r=support
Expected behavior:          http://bugs.php.net/fix.php?id=25798&r=notwrong
Not enough info:            http://bugs.php.net/fix.php?id=25798&r=notenoughinfo
Submitted twice:            http://bugs.php.net/fix.php?id=25798&r=submittedtwice
register_globals:           http://bugs.php.net/fix.php?id=25798&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=25798&r=php3
Daylight Savings:           http://bugs.php.net/fix.php?id=25798&r=dst
IIS Stability:              http://bugs.php.net/fix.php?id=25798&r=isapi
Install GNU Sed:            http://bugs.php.net/fix.php?id=25798&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=25798&r=float

Reply via email to