From: Lhunath at Pandora dot Be
Operating system: Gentoo Linux 2.6.18
PHP version: 5.1.6
PHP Bug Type: Reproducible crash
Bug description: Indefinate recursing function causes segfault.
Description:
------------
When running the code found below, PHP seems to choke in recursions.
Naturally, the code itself is flawed; but this flaw should not be capable
of segfaulting PHP. This can be seen as both a security and a stability
flaw.
Reproduce code:
---------------
<?
function foo($bar) {
if(is_array($bar))
foreach($bar as $k => $v)
print $k." => ".foo($v);
else
var_export($bar);
}
foo($GLOBALS);
?>
Expected result:
----------------
Fatal error: Nesting level too deep - recursive dependency?
Actual result:
--------------
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1212631376 (LWP 5087)]
0xb76bd359 in zend_hash_quick_find () from
/usr/lib/apache2/modules/libphp5.so
(gdb) bt
#0 0xb76bd359 in zend_hash_quick_find () from
/usr/lib/apache2/modules/libphp5.so
#1 0xb76d4a90 in execute () from /usr/lib/apache2/modules/libphp5.so
#2 0xb76d35cd in execute () from /usr/lib/apache2/modules/libphp5.so
#3 0xb76d38ea in execute () from /usr/lib/apache2/modules/libphp5.so
#4 0xb76d35cd in execute () from /usr/lib/apache2/modules/libphp5.so
#5 0xb76d38ea in execute () from /usr/lib/apache2/modules/libphp5.so
#6 0xb76d35cd in execute () from /usr/lib/apache2/modules/libphp5.so
...
--
Edit bug report at http://bugs.php.net/?id=39160&edit=1
--
Try a CVS snapshot (PHP 4.4):
http://bugs.php.net/fix.php?id=39160&r=trysnapshot44
Try a CVS snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=39160&r=trysnapshot52
Try a CVS snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=39160&r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=39160&r=fixedcvs
Fixed in release:
http://bugs.php.net/fix.php?id=39160&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=39160&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=39160&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=39160&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=39160&r=support
Expected behavior: http://bugs.php.net/fix.php?id=39160&r=notwrong
Not enough info:
http://bugs.php.net/fix.php?id=39160&r=notenoughinfo
Submitted twice:
http://bugs.php.net/fix.php?id=39160&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=39160&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=39160&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=39160&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=39160&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=39160&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=39160&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=39160&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=39160&r=mysqlcfg