File tree Expand file tree Collapse file tree 2 files changed +13
-1
lines changed Expand file tree Collapse file tree 2 files changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -878,12 +878,12 @@ static bool keeps_op1_alive(zend_op *opline) {
878
878
|| opline -> opcode == ZEND_SWITCH_STRING
879
879
|| opline -> opcode == ZEND_MATCH
880
880
|| opline -> opcode == ZEND_FETCH_LIST_R
881
+ || opline -> opcode == ZEND_FETCH_LIST_W
881
882
|| opline -> opcode == ZEND_COPY_TMP ) {
882
883
return 1 ;
883
884
}
884
885
ZEND_ASSERT (opline -> opcode != ZEND_FE_FETCH_R
885
886
&& opline -> opcode != ZEND_FE_FETCH_RW
886
- && opline -> opcode != ZEND_FETCH_LIST_W
887
887
&& opline -> opcode != ZEND_VERIFY_RETURN_TYPE
888
888
&& opline -> opcode != ZEND_BIND_LEXICAL
889
889
&& opline -> opcode != ZEND_ROPE_ADD );
Original file line number Diff line number Diff line change
1
+ --TEST--
2
+ DCE may remove FREE after FETCH_LIST_W
3
+ --FILE--
4
+ <?php
5
+ function () {
6
+ $ a = $ r [][] = $ r = [] & $ y ;
7
+ +list (&$ y ) = $ a ;
8
+ }
9
+ ?>
10
+ DONE
11
+ --EXPECT--
12
+ DONE
You can’t perform that action at this time.
0 commit comments