Bug #15247 Updated: preg_match('/(.|\n)*/',$a,$b) crashes
| From: | yohgaki@php.net | Date: | Mon, 04 Feb 2002 07:00:31 +0000 |
| Subject: | Bug #15247 Updated: preg_match('/(.|\n)*/',$a,$b) crashes | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-79036@lists.php.net to get a copy of this message | ||
ID: 15247
Updated by: yohgaki@php.net
Reported By: beavergr@pilot.msu.edu
-Status: Open
+Status: Bogus
Bug Type: Reproducible crash
Operating System: Win98
PHP Version: 4.0.6
New Comment:
The version of PHP that this bug was reported in is too old. Please
try to reproduce this bug in the latest version of PHP (available
from http://www.php.net/downloads.php
If you are still able to reproduce the bug with one of the latest
versions of PHP, please change the PHP version on this bug report
to the version you tested and change the status back to "Open".
Previous Comments:
------------------------------------------------------------------------
[2002-01-27 19:02:12] beavergr@pilot.msu.edu
Sorry, here's a script that crashes. If you change "$i<127" to
"$i<126" it no longer crashes. I hope this is useful!
As a postscript, I tried upgrading to 4.1.1, and couldn't find any
configuration that worked with Apache 1.3.20 or 1.3.22. Also, the web
server that hosts us still uses 4.0.6
<?php
$read = '&test(blah){';
for($i=0;$i<127;$i++)
{
$read .= md5('hoogie');
}
preg_match("/(&test\([^\)]+\)[\n\r\t]*\{)((?:.|\n|\r|\t)*)/",$read,$test);
var_dump($test);
?>
------------------------------------------------------------------------
[2002-01-27 15:10:31] derick@php.net
I think this is a limit of the preg functions, it would really help if
you could supply a script that reproduces it, and stands on it's own.
Derick
------------------------------------------------------------------------
[2002-01-27 15:08:02] sander@php.net
Do you have any idea of the size of $a? 1MB? 10MB? 100MB? 1GB? 1TB???
:)
Does it help if you leave out the third argument (currently $b)?
Also, can you try 4.1.1?
------------------------------------------------------------------------
[2002-01-27 14:59:36] beavergr@pilot.msu.edu
if the size of $a is very large, php crashes. I replaced (.|\n)* with
the better [\w\W]* and it stopped crashing. I'm not positive what the
size limit is, the script that produced the crash is quite large and
complex.
print_r(get_loaded_extensions()) produces
Array ( [0] => standard [1] => bcmath [2] => Calendar [3] => com [4] =>
variant [5] => ftp [6] => mysql [7] => odbc [8] => pcre [9] => session
[10] => xml [11] => wddx [12] => gd [13] => pdf [14] => pgsql [15] =>
zlib [16] => Zend Optimizer [17] => apache )
I'm using Apache 1.3.20
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=15247&edit=1