Bug #11389 Updated: array_walk causes Apache to crash

From: Date: Tue, 13 Nov 2001 09:04:29 +0000
Subject: Bug #11389 Updated: array_walk causes Apache to crash
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-70320@lists.php.net to get a copy of this message
ID: 11389 User updated by: sivev@hotmail.com Reported By: sivev@hotmail.com Status: Critical Bug Type: Arrays related Operating System: W98 PHP Version: 4.0.6 New Comment: But this is not the real script!! My real script have a lot of code lines and functions, a lot of arrays inside other arrays and so on, i need 'walk' the arrays, and array_walk crash my code sometimes. To work around this bug, i have written my 'my_array_walk' function in PHP script that always behave OK. I don't need the 'array_walk' function, but i think this bug must be fixed. Previous Comments: ------------------------------------------------------------------------ [2001-11-12 18:13:09] venaas@php.net Yes, what happens is that array_walk tries to move forward to the next element by calling zend_hash_move_forward_ex() which determines that the hash is inconsistent and bails out. I think this behavior is good enough. This script is asking for trouble. It's important that people can't crash Apache, but I don't mind if weird scripts like this misbehaves. CVS works okay for me since PHP doesn't crash, but bails out. For me I get the same behavior if I remove the call by references (in array_walk call and myfunc declaration). ------------------------------------------------------------------------ [2001-11-11 21:34:20] sniper@php.net Indeed there is something odd going on: <?php $myarr = array(array(1,2,3), array(1,2,3), array(1,2,3)); echo "before\n"; array_walk($myarr, "myfunc"); function myfunc(&$value, $key) { global $myarr; $myarr=null; } echo "after\n"; ?> This script only echo's "before". --Jani ------------------------------------------------------------------------ [2001-11-11 06:49:53] sander@php.net Reproduced with 4.2.0-dev (200111080300) on Windows 2000. Array_walk seems to be pretty buggy. There were a few reports of crashes using array_walk, most importantly #12776. Reopening. ------------------------------------------------------------------------ [2001-10-21 01:44:42] sniper@php.net I can not reproduce this with PHP 4.1.0RC1. Could you please try the latest development build from http://www.php4win.com/ ------------------------------------------------------------------------ [2001-06-23 17:31:08] sbergmann@php.net Reproduced with 4.0.7-dev (latest CVS, Win32) ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/?id=11389 Edit this bug report at http://bugs.php.net/?id=11389&edit=1

« previous php.dev (#70320) next »