#29437 [Opn->Csd]: array_walk_recursive causes segfault
| From: | iliaa@php.net | Date: | Thu, 29 Jul 2004 00:35:21 +0000 |
| Subject: | #29437 [Opn->Csd]: array_walk_recursive causes segfault | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-63716@lists.php.net to get a copy of this message | ||
ID: 29437
Updated by: iliaa@php.net
Reported By: misc at sopic dot com
-Status: Open
+Status: Closed
Bug Type: Reproducible crash
Operating System: Suse Linux 9.0
PHP Version: 5.0.0
New Comment:
This bug has been fixed in CVS.
Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
Thank you for the report, and for helping us make PHP better.
Previous Comments:
------------------------------------------------------------------------
[2004-07-29 00:57:43] misc at sopic dot com
Description:
------------
Execution of the code below causes Apache 2.0.49 (Prefork) to exit with
a segfault.
Apache error_log:
[Wed Jul 28 23:25:22 2004] [notice] child pid 30256 exit signal
Segmentation fault (11)
[Wed Jul 28 23:25:23 2004] [notice] child pid 30252 exit signal
Segmentation fault (11)
[Wed Jul 28 23:25:23 2004] [notice] child pid 32257 exit signal
Segmentation fault (11)
[Wed Jul 28 23:25:24 2004] [notice] child pid 32314 exit signal
Segmentation fault (11)
[Wed Jul 28 23:25:25 2004] [notice] child pid 32316 exit signal
Segmentation fault (11)
'./configure' '--with-apxs2=/usr/local/apache2-php5/bin/apxs'
'--with-mysql=/usr/local/mysql' '--with-zlib' '--with-xml'
'--with-gd'
'--with-ttf=/usr' '--with-jpeg-dir=/usr' '--with-xpm-dir=/usr'
'--enable-gd-native-ttf' '--with-mcrypt=/usr' '--enable-calendar'
'--enable-bcmath' '--with-dom' '--with-xmlrpc'
'--with-gettext'
'--with-ftp' '--enable-shared' '--enable-memory-limit'
'--with-freetype-dir=/usr' '--with-ldap=/usr' '--disable-short-tags'
'--with-dom=/usr'
Reproduce code:
---------------
<?php
function mysqlEscapeArray (&$array)
{
if (!is_array($array)) {
return false;
}
function my_escape_function (&$value, $key)
{
$value = mysql_escape_string($value);
}
array_walk_recursive($array, 'my_escape_function');
return true;
}
$foobar = array('test' => array("foo" => "Zack's Laptop"));
mysqlEscapeArray($foobar);
?>
Expected result:
----------------
Array with escaped values
Actual result:
--------------
[New Thread 16384 (LWP 9165)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 9165)]
0x401ab05a in _int_malloc () from /lib/i686/libc.so.6
(gdb) bt
#0 0x401ab05a in _int_malloc () from /lib/i686/libc.so.6
#1 0x401aa06c in malloc () from /lib/i686/libc.so.6
#2 0x403f34e6 in _emalloc (size=256) at
/usr/local/src/php-5.0.0/Zend/zend_alloc.c:182
#3 0x40406957 in zend_stack_init (stack=0x404cd2dc) at
/usr/local/src/php-5.0.0/Zend/zend_stack.c:28
#4 0x403fd9eb in shutdown_executor () at
/usr/local/src/php-5.0.0/Zend/zend_execute_API.c:232
#5 0x40408060 in zend_deactivate () at
/usr/local/src/php-5.0.0/Zend/zend.c:819
#6 0x403d0e50 in php_request_shutdown (dummy=0x0) at
/usr/local/src/php-5.0.0/main/main.c:1212
#7 0x4043b1da in php_apache_request_dtor (r=0x81ed8b0) at
/usr/local/src/php-5.0.0/sapi/apache2handler/sapi_apache2.c:435
#8 0x4043b5fd in php_handler (r=0x81ed8b0) at
/usr/local/src/php-5.0.0/sapi/apache2handler/sapi_apache2.c:551
#9 0x0807d83b in ap_run_handler (r=0x81ed8b0) at config.c:152
#10 0x0807ddbe in ap_invoke_handler (r=0x81ed8b0) at config.c:358
#11 0x0806c98b in ap_process_request (r=0x81ed8b0) at
http_request.c:246
#12 0x080686ac in ap_process_http_connection (c=0x81e90c0) at
http_core.c:250
#13 0x080874db in ap_run_process_connection (c=0x81e90c0) at
connection.c:42
#14 0x0807c31d in child_main (child_num_arg=1076259452) at
prefork.c:609
#15 0x0807c42d in make_child (s=0x80dbf18, slot=0) at prefork.c:649
#16 0x0807c4f4 in startup_children (number_to_start=5) at
prefork.c:721
#17 0x0807cb5d in ap_mpm_run (_pconf=0x80d97e8, plog=0x81118c8, s=0x0)
at prefork.c:940
#18 0x08081f7a in main (argc=2, argv=0xbffff594) at main.c:617
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=29437&edit=1