1
0
mirror of https://github.com/php/php-src.git synced 2026-04-29 19:23:22 +02:00

Merge branch 'PHP-7.4'

* PHP-7.4:
  Fixed bug #78531 (Crash when using undefined variable as object
This commit is contained in:
Dmitry Stogov
2019-09-13 01:43:40 +03:00
4 changed files with 59 additions and 50 deletions
+18
View File
@@ -0,0 +1,18 @@
--TEST--
Bug #78531 (Crash when using undefined variable as object)
--FILE--
<?php
@$u1->a += 5;
var_dump($u1->a);
@$x = ++$u2->a;
var_dump($u2->a);
@$x = $u3->a++;
var_dump($u3->a);
@$u4->a->a += 5;
var_dump($u4->a->a);
?>
--EXPECT--
int(5)
int(1)
int(1)
int(5)
+1 -1
View File
@@ -2734,7 +2734,7 @@ static zend_always_inline void zend_fetch_property_address(zval *result, zval *c
if (container_op_type == IS_CV
&& type != BP_VAR_W
&& UNEXPECTED(Z_TYPE_P(container) == IS_UNDEF)) {
container = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
/* this should modify object only if it's empty */
+4 -5
View File
@@ -1067,7 +1067,7 @@ ZEND_VM_HANDLER(28, ZEND_ASSIGN_OBJ_OP, VAR|UNUSED|THIS|CV, CONST|TMPVAR|CV, OP)
}
if (OP1_TYPE == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -1253,7 +1253,6 @@ ZEND_VM_C_LABEL(assign_dim_op_new_array):
zend_binary_assign_op_obj_dim(container, dim OPLINE_CC EXECUTE_DATA_CC);
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
if (OP1_TYPE == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
ZVAL_NULL(container);
ZVAL_UNDEFINED_OP1();
}
ZVAL_ARR(container, zend_new_array(8));
@@ -1337,7 +1336,7 @@ ZEND_VM_HANDLER(132, ZEND_PRE_INC_OBJ, VAR|UNUSED|THIS|CV, CONST|TMPVAR|CV, CACH
}
if (OP1_TYPE == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -1417,7 +1416,7 @@ ZEND_VM_HANDLER(134, ZEND_POST_INC_OBJ, VAR|UNUSED|THIS|CV, CONST|TMPVAR|CV, CAC
}
if (OP1_TYPE == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -6233,7 +6232,7 @@ ZEND_VM_HANDLER(76, ZEND_UNSET_OBJ, VAR|UNUSED|THIS|CV, CONST|TMPVAR|CV, CACHE_S
if (Z_TYPE_P(container) != IS_OBJECT) {
if (OP1_TYPE == IS_CV
&& UNEXPECTED(Z_TYPE_P(container) == IS_UNDEF)) {
container = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
break;
}
+36 -44
View File
@@ -21866,7 +21866,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_OP_SPEC_VAR_CONST_H
}
if (IS_VAR == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -22005,7 +22005,6 @@ assign_dim_op_new_array:
zend_binary_assign_op_obj_dim(container, dim OPLINE_CC EXECUTE_DATA_CC);
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
if (IS_VAR == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
ZVAL_NULL(container);
ZVAL_UNDEFINED_OP1();
}
ZVAL_ARR(container, zend_new_array(8));
@@ -22087,7 +22086,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_INC_OBJ_SPEC_VAR_CONST_HAN
}
if (IS_VAR == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -22161,7 +22160,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_POST_INC_OBJ_SPEC_VAR_CONST_HA
}
if (IS_VAR == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -23988,7 +23987,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_OBJ_SPEC_VAR_CONST_HANDL
if (Z_TYPE_P(container) != IS_OBJECT) {
if (IS_VAR == IS_CV
&& UNEXPECTED(Z_TYPE_P(container) == IS_UNDEF)) {
container = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
break;
}
@@ -24222,7 +24221,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_OP_SPEC_VAR_TMPVAR_
}
if (IS_VAR == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -24361,7 +24360,6 @@ assign_dim_op_new_array:
zend_binary_assign_op_obj_dim(container, dim OPLINE_CC EXECUTE_DATA_CC);
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
if (IS_VAR == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
ZVAL_NULL(container);
ZVAL_UNDEFINED_OP1();
}
ZVAL_ARR(container, zend_new_array(8));
@@ -24445,7 +24443,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_INC_OBJ_SPEC_VAR_TMPVAR_HA
}
if (IS_VAR == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -24520,7 +24518,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_POST_INC_OBJ_SPEC_VAR_TMPVAR_H
}
if (IS_VAR == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -26225,7 +26223,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_OBJ_SPEC_VAR_TMPVAR_HAND
if (Z_TYPE_P(container) != IS_OBJECT) {
if (IS_VAR == IS_CV
&& UNEXPECTED(Z_TYPE_P(container) == IS_UNDEF)) {
container = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
break;
}
@@ -26809,7 +26807,6 @@ assign_dim_op_new_array:
zend_binary_assign_op_obj_dim(container, dim OPLINE_CC EXECUTE_DATA_CC);
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
if (IS_VAR == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
ZVAL_NULL(container);
ZVAL_UNDEFINED_OP1();
}
ZVAL_ARR(container, zend_new_array(8));
@@ -27939,7 +27936,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_OP_SPEC_VAR_CV_HAND
}
if (IS_VAR == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -28078,7 +28075,6 @@ assign_dim_op_new_array:
zend_binary_assign_op_obj_dim(container, dim OPLINE_CC EXECUTE_DATA_CC);
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
if (IS_VAR == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
ZVAL_NULL(container);
ZVAL_UNDEFINED_OP1();
}
ZVAL_ARR(container, zend_new_array(8));
@@ -28160,7 +28156,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_INC_OBJ_SPEC_VAR_CV_HANDLE
}
if (IS_VAR == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -28234,7 +28230,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_POST_INC_OBJ_SPEC_VAR_CV_HANDL
}
if (IS_VAR == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -30028,7 +30024,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_OBJ_SPEC_VAR_CV_HANDLER(
if (Z_TYPE_P(container) != IS_OBJECT) {
if (IS_VAR == IS_CV
&& UNEXPECTED(Z_TYPE_P(container) == IS_UNDEF)) {
container = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
break;
}
@@ -30477,7 +30473,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_OP_SPEC_UNUSED_CONS
}
if (IS_UNUSED == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -30578,7 +30574,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_INC_OBJ_SPEC_UNUSED_CONST_
}
if (IS_UNUSED == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -30652,7 +30648,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_POST_INC_OBJ_SPEC_UNUSED_CONST
}
if (IS_UNUSED == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -32180,7 +32176,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_OBJ_SPEC_UNUSED_CONST_HA
if (Z_TYPE_P(container) != IS_OBJECT) {
if (IS_UNUSED == IS_CV
&& UNEXPECTED(Z_TYPE_P(container) == IS_UNDEF)) {
container = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
break;
}
@@ -32431,7 +32427,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_OP_SPEC_UNUSED_TMPV
}
if (IS_UNUSED == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -32532,7 +32528,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_INC_OBJ_SPEC_UNUSED_TMPVAR
}
if (IS_UNUSED == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -32607,7 +32603,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_POST_INC_OBJ_SPEC_UNUSED_TMPVA
}
if (IS_UNUSED == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -34045,7 +34041,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_OBJ_SPEC_UNUSED_TMPVAR_H
if (Z_TYPE_P(container) != IS_OBJECT) {
if (IS_UNUSED == IS_CV
&& UNEXPECTED(Z_TYPE_P(container) == IS_UNDEF)) {
container = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
break;
}
@@ -35053,7 +35049,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_OP_SPEC_UNUSED_CV_H
}
if (IS_UNUSED == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -35154,7 +35150,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_INC_OBJ_SPEC_UNUSED_CV_HAN
}
if (IS_UNUSED == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -35228,7 +35224,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_POST_INC_OBJ_SPEC_UNUSED_CV_HA
}
if (IS_UNUSED == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -36664,7 +36660,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_OBJ_SPEC_UNUSED_CV_HANDL
if (Z_TYPE_P(container) != IS_OBJECT) {
if (IS_UNUSED == IS_CV
&& UNEXPECTED(Z_TYPE_P(container) == IS_UNDEF)) {
container = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
break;
}
@@ -39240,7 +39236,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_OP_SPEC_CV_CONST_HA
}
if (IS_CV == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -39379,7 +39375,6 @@ assign_dim_op_new_array:
zend_binary_assign_op_obj_dim(container, dim OPLINE_CC EXECUTE_DATA_CC);
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
ZVAL_NULL(container);
ZVAL_UNDEFINED_OP1();
}
ZVAL_ARR(container, zend_new_array(8));
@@ -39461,7 +39456,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_INC_OBJ_SPEC_CV_CONST_HAND
}
if (IS_CV == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -39535,7 +39530,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_POST_INC_OBJ_SPEC_CV_CONST_HAN
}
if (IS_CV == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -41695,7 +41690,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_OBJ_SPEC_CV_CONST_HANDLE
if (Z_TYPE_P(container) != IS_OBJECT) {
if (IS_CV == IS_CV
&& UNEXPECTED(Z_TYPE_P(container) == IS_UNDEF)) {
container = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
break;
}
@@ -42831,7 +42826,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_OP_SPEC_CV_TMPVAR_H
}
if (IS_CV == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -42970,7 +42965,6 @@ assign_dim_op_new_array:
zend_binary_assign_op_obj_dim(container, dim OPLINE_CC EXECUTE_DATA_CC);
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
ZVAL_NULL(container);
ZVAL_UNDEFINED_OP1();
}
ZVAL_ARR(container, zend_new_array(8));
@@ -43054,7 +43048,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_INC_OBJ_SPEC_CV_TMPVAR_HAN
}
if (IS_CV == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -43129,7 +43123,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_POST_INC_OBJ_SPEC_CV_TMPVAR_HA
}
if (IS_CV == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -45232,7 +45226,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_OBJ_SPEC_CV_TMPVAR_HANDL
if (Z_TYPE_P(container) != IS_OBJECT) {
if (IS_CV == IS_CV
&& UNEXPECTED(Z_TYPE_P(container) == IS_UNDEF)) {
container = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
break;
}
@@ -46033,7 +46027,6 @@ assign_dim_op_new_array:
zend_binary_assign_op_obj_dim(container, dim OPLINE_CC EXECUTE_DATA_CC);
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
ZVAL_NULL(container);
ZVAL_UNDEFINED_OP1();
}
ZVAL_ARR(container, zend_new_array(8));
@@ -47977,7 +47970,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_OP_SPEC_CV_CV_HANDL
}
if (IS_CV == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -48116,7 +48109,6 @@ assign_dim_op_new_array:
zend_binary_assign_op_obj_dim(container, dim OPLINE_CC EXECUTE_DATA_CC);
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
ZVAL_NULL(container);
ZVAL_UNDEFINED_OP1();
}
ZVAL_ARR(container, zend_new_array(8));
@@ -48198,7 +48190,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_INC_OBJ_SPEC_CV_CV_HANDLER
}
if (IS_CV == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -48272,7 +48264,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_POST_INC_OBJ_SPEC_CV_CV_HANDLE
}
if (IS_CV == IS_CV
&& UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
object = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
@@ -50465,7 +50457,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_OBJ_SPEC_CV_CV_HANDLER(Z
if (Z_TYPE_P(container) != IS_OBJECT) {
if (IS_CV == IS_CV
&& UNEXPECTED(Z_TYPE_P(container) == IS_UNDEF)) {
container = ZVAL_UNDEFINED_OP1();
ZVAL_UNDEFINED_OP1();
}
break;
}