Edit report at https://bugs.php.net/bug.php?id=60169&edit=1
ID: 60169
Updated by: laruence@php.net
Reported by: thekid@php.net
Summary: Conjunction of ternary and list crashes PHP
Status: Assigned
Type: Bug
Package: Scripting Engine problem
Operating System: Windows Vista
PHP Version: 5.4.0beta2
Assigned To: lbarnaud
Block user comment: N
Private report: N
New Comment:
there is also segfault in (***)?:value notation.
like:
<?php
$str = array('test');
list($a, $b) = is_array($str)?:$str;
and this make *the patch doesn't work* (a memory leak)
Previous Comments:
------------------------------------------------------------------------
[2011-10-30 02:08:29] laruence@php.net
The following patch has been added/updated:
Patch Name: bug60169.phpt
Revision: 1319940509
URL: https://bugs.php.net/patch-display.php?bug=60169&patch=bug60169.phpt&revision=1319940509
------------------------------------------------------------------------
[2011-10-30 02:03:53] laruence@php.net
The following patch has been added/updated:
Patch Name: bug60169.diff
Revision: 1319940233
URL: https://bugs.php.net/patch-display.php?bug=60169&patch=bug60169.diff&revision=1319940233
------------------------------------------------------------------------
[2011-10-30 02:01:56] pajoye@php.net
Arnaud, could you try to give a look please? Happens only in 5.4, the recent
optimization in this area could be the cause.
------------------------------------------------------------------------
[2011-10-30 01:56:49] laruence@php.net
I can reproduce this on linux with a more simple script:
<?php
$arr = array("test");
list($a)= is_array($arr)? $arr : $arr;
?>
and I have pasted the bt above~
------------------------------------------------------------------------
[2011-10-30 01:37:39] laruence@php.net
backtrace:
#0 0x00000000008d69e5 in zend_fetch_dimension_address_read (result=0x2a95dac1d0, container_ptr=0x0,
dim=0x2a95de57f8, dim_type=1, type=0)
at /home/huixc/opensource/php-src/trunk/Zend/zend_execute.c:1244
1244 zval *container = *container_ptr;
(gdb) bt
#0 0x00000000008d69e5 in zend_fetch_dimension_address_read (result=0x2a95dac1d0, container_ptr=0x0,
dim=0x2a95de57f8, dim_type=1, type=0)
at /home/huixc/opensource/php-src/trunk/Zend/zend_execute.c:1244
#1 0x000000000091630d in ZEND_FETCH_DIM_R_SPEC_VAR_CONST_HANDLER (execute_data=0x2a95dac0e8)
at /home/huixc/opensource/php-src/trunk/Zend/zend_vm_execute.h:12694
#2 0x00000000008d79ae in execute (op_array=0x2a95de36e8) at /home/huixc/opensource/php-
src/trunk/Zend/zend_vm_execute.h:410
#3 0x00000000008a0063 in zend_execute_scripts (type=8, retval=0x0, file_count=3) at
/home/huixc/opensource/php-src/trunk/Zend/zend.c:1272
#4 0x0000000000820850 in php_execute_script (primary_file=0x7fbffff2a0) at
/home/huixc/opensource/php-
src/trunk/main/main.c:2414
#5 0x00000000009c12dd in do_cli (argc=2, argv=0x7fbffff588) at /home/huixc/opensource/php-
src/trunk/sapi/cli/php_cli.c:983
#6 0x00000000009c217e in main (argc=2, argv=0x7fbffff588) at /home/huixc/opensource/php-
src/trunk/sapi/cli/php_cli.c:1356
------------------------------------------------------------------------
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
https://bugs.php.net/bug.php?id=60169--
Edit this bug report at https://bugs.php.net/bug.php?id=60169&edit=1