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 @@ -867,12 +867,12 @@ static bool keeps_op1_alive(zend_op *opline) {
867
867
|| opline -> opcode == ZEND_SWITCH_STRING
868
868
|| opline -> opcode == ZEND_MATCH
869
869
|| opline -> opcode == ZEND_FETCH_LIST_R
870
+ || opline -> opcode == ZEND_FETCH_LIST_W
870
871
|| opline -> opcode == ZEND_COPY_TMP ) {
871
872
return 1 ;
872
873
}
873
874
ZEND_ASSERT (opline -> opcode != ZEND_FE_FETCH_R
874
875
&& opline -> opcode != ZEND_FE_FETCH_RW
875
- && opline -> opcode != ZEND_FETCH_LIST_W
876
876
&& opline -> opcode != ZEND_VERIFY_RETURN_TYPE
877
877
&& opline -> opcode != ZEND_BIND_LEXICAL
878
878
&& 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