#42424 [NEW]: PHP5/PCRE fails to match long strings when ungreedy

From: Date: Sat, 25 Aug 2007 13:16:29 +0000
Subject: #42424 [NEW]: PHP5/PCRE fails to match long strings when ungreedy
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-116660@lists.php.net to get a copy of this message
From: adam-phpbugs at adam dot gs Operating system: Any PHP version: 5.2.3 PHP Bug Type: PCRE related Bug description: PHP5/PCRE fails to match long strings when ungreedy Description: ------------ PHP5/PCRE will fail to match on long strings when UNGREEDY, the boundary is around 100k of data. FWIW, same results if you change x* to x+ down there. Reproduce code: --------------- <?php $data=sprintf("<span>%s</span>",str_repeat("x",99996)); var_dump(preg_match("#<span>(x*?)</span>#",$data)); $data=sprintf("<span>%s</span>",str_repeat("x",99997)); var_dump(preg_match("#<span>(x*?)</span>#",$data)); $data=sprintf("<span>%s</span>",str_repeat("x",99997)); var_dump(preg_match("#<span>(x*)</span>#U",$data)); $data=sprintf("<span>%s</span>",str_repeat("x",99997)); var_dump(preg_match("#<span>(x*)</span>#",$data)); ?> Expected result: ---------------- all 4 expressions should match, this is what occurs with PHP 4.4.7. Actual result: -------------- under PHP 5.2.3: only the first and 4th expression match under PHP 4.4.7: all 4 match. -- Edit bug report at http://bugs.php.net/?id=42424&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=42424&r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=42424&r=trysnapshot52 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=42424&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=42424&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=42424&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=42424&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=42424&r=needscript Try newer version: http://bugs.php.net/fix.php?id=42424&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=42424&r=support Expected behavior: http://bugs.php.net/fix.php?id=42424&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=42424&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=42424&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=42424&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=42424&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=42424&r=dst IIS Stability: http://bugs.php.net/fix.php?id=42424&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=42424&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=42424&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=42424&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=42424&r=mysqlcfg

« previous php.bugs (#116660) next »