File tree Expand file tree Collapse file tree 3 files changed +28
-2
lines changed Expand file tree Collapse file tree 3 files changed +28
-2
lines changed Original file line number Diff line number Diff line change @@ -17,6 +17,8 @@ PHP NEWS
17
17
18
18
- Opcache:
19
19
. Fixed bug #76463 (var has array key type but not value type). (Laruence)
20
+ . Fixed bug #76446 (zend_variables.c:73: zend_string_destroy: Assertion
21
+ `!(zval_gc_flags((str)->gc)). (Nikita, Laruence)
20
22
21
23
- ZIP:
22
24
. Fixed bug #76461 (OPSYS_Z_CPM defined instead of OPSYS_CPM).
Original file line number Diff line number Diff line change 39
39
* postdominator tree and of postdominance frontiers, which does not seem worthwhile at this
40
40
* point.
41
41
* * We separate intrinsic side-effects from potential side-effects in the form of notices thrown
42
- * by the instruction (in case we want to make this configurable). See may_have_side_effect () and
42
+ * by the instruction (in case we want to make this configurable). See may_have_side_effects () and
43
43
* zend_may_throw().
44
44
* * We often cannot DCE assignments and unsets while guaranteeing that dtors run in the same
45
45
* order. There is an optimization option to allow reordering of dtor effects.
@@ -109,7 +109,6 @@ static inline zend_bool may_have_side_effects(
109
109
case ZEND_CAST :
110
110
case ZEND_ROPE_INIT :
111
111
case ZEND_ROPE_ADD :
112
- case ZEND_ROPE_END :
113
112
case ZEND_INIT_ARRAY :
114
113
case ZEND_ADD_ARRAY_ELEMENT :
115
114
case ZEND_SPACESHIP :
@@ -127,6 +126,9 @@ static inline zend_bool may_have_side_effects(
127
126
case ZEND_FUNC_GET_ARGS :
128
127
/* No side effects */
129
128
return 0 ;
129
+ case ZEND_ROPE_END :
130
+ /* TODO: Rope dce optmization, see #76446 */
131
+ return 1 ;
130
132
case ZEND_JMP :
131
133
case ZEND_JMPZ :
132
134
case ZEND_JMPNZ :
Original file line number Diff line number Diff line change
1
+ --TEST--
2
+ Bug #76446 (zend_variables.c:73: zend_string_destroy: Assertion `!(zval_gc_flags((str)->gc)
3
+ --INI--
4
+ opcache.enable=1
5
+ opcache.enable_cli=1
6
+ opcache.optimization_level=-1
7
+ --SKIPIF--
8
+ <?php require_once ('skipif.inc ' ); ?>
9
+ --FILE--
10
+ <?php
11
+ function test ()
12
+ {
13
+ $ openmenu = '' ;
14
+ $ openstr2 = "&openmenu= {$ openmenu }{$ addlang }\"" ;
15
+ return 0 ;
16
+ }
17
+
18
+ var_dump (test ());
19
+ ?>
20
+ --EXPECTF--
21
+ Notice: Undefined variable: addlang in %sbug76446.php on line %d
22
+ int(0)
You can’t perform that action at this time.
0 commit comments