Edit report at http://bugs.php.net/bug.php?id=52719&edit=1

 ID:                 52719
 Updated by:         johan...@php.net
 Reported by:        apouch at woozworld dot com
 Summary:            array_walk_recursive crashes if third param of the
                     function is by reference
-Status:             Open
+Status:             Feedback
 Type:               Bug
 Package:            Arrays related
 Operating System:   Linux
 PHP Version:        5.3.3
 Block user comment: N

 New Comment:

Please try using this snapshot:

  http://snaps.php.net/php5.3-latest.tar.gz
 
For Windows:

  http://windows.php.net/snapshots/

I get no crash but a memleak which is handled gracefully with current
SVN.



No crash[Mon Aug 30 19:33:37 2010]  Script:  '-'

/home/johannes/src/php/php-src/branches/PHP_5_3/Zend/zend_execute_API.c(888)
:  Freeing 0x00DEB060 (32 bytes), script=-

=== Total 1 memory leaks detected ===


Previous Comments:
------------------------------------------------------------------------
[2010-08-27 22:42:39] apouch at woozworld dot com

Description:
------------
This is something that changed between PHP 5.3.2 and PHP 5.3.3.



array_walk_recursive accepts a 3rd parameter for 'userdata'.

If:

- this parameter is an object AND

- the user-created function used as second parameter to
array_walk_recursive defines the third parameter by reference AND

- The array given as first parameter to array_walk_recursive is a
multi-dimensional array,

PHP crashes.

Test script:
---------------
$array = array('foo', 'bar' => array('taz'));

$foo = new stdClass();

array_walk_recursive($array, create_function('&$v, $k, &$u', ''),
$foo);

echo 'No crash';

//This one works: array_walk_recursive($array, create_function('&$v, $k,
$u', ''), $foo);







Expected result:
----------------
No Crash

Actual result:
--------------
PHP crashes


------------------------------------------------------------------------



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=52719&edit=1

Reply via email to