mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4: Fix assign-op/inc/dec on untyped hooked property backing value
This commit is contained in:
2
NEWS
2
NEWS
@@ -13,6 +13,8 @@ PHP NEWS
|
||||
by setRawValueWithoutLazyInitialization() and newLazyGhost()). (Arnaud)
|
||||
. Fixed bug GH-20504 (Assertion failure in zend_get_property_guard when
|
||||
accessing properties on Reflection LazyProxy via isset()). (Arnaud)
|
||||
. Fixed OSS-Fuzz #478009707 (Borked assign-op/inc/dec on untyped hooked
|
||||
property backing value). (ilutov)
|
||||
|
||||
- Date:
|
||||
. Fixed bug GH-20936 (DatePeriod::__set_state() cannot handle null start).
|
||||
|
||||
23
Zend/tests/oss-fuzz-478009707.phpt
Normal file
23
Zend/tests/oss-fuzz-478009707.phpt
Normal file
@@ -0,0 +1,23 @@
|
||||
--TEST--
|
||||
OSS-Fuzz #478009707: Assign-op/inc/dec on untyped hooked property backing value
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
class C {
|
||||
public $prop {
|
||||
set {
|
||||
$this->prop = $value;
|
||||
$this->prop += 1;
|
||||
$this->prop++;
|
||||
++$this->prop;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$c = new C(1);
|
||||
$c->prop = 1;
|
||||
var_dump($c->prop);
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
int(4)
|
||||
@@ -1070,7 +1070,7 @@ ZEND_VM_C_LABEL(assign_op_object):
|
||||
}
|
||||
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
if (prop_info) {
|
||||
if (prop_info && ZEND_TYPE_IS_SET(prop_info->type)) {
|
||||
/* special case for typed properties */
|
||||
zend_binary_assign_op_typed_prop(prop_info, zptr, value OPLINE_CC EXECUTE_DATA_CC);
|
||||
} else {
|
||||
@@ -1335,7 +1335,8 @@ ZEND_VM_C_LABEL(pre_incdec_object):
|
||||
}
|
||||
} else {
|
||||
prop_info = (zend_property_info *) CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_pre_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_pre_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_pre_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -1403,7 +1404,8 @@ ZEND_VM_C_LABEL(post_incdec_object):
|
||||
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||
} else {
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_post_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_post_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_post_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
|
||||
144
Zend/zend_vm_execute.h
generated
144
Zend/zend_vm_execute.h
generated
@@ -24163,7 +24163,7 @@ assign_op_object:
|
||||
}
|
||||
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
if (prop_info) {
|
||||
if (prop_info && ZEND_TYPE_IS_SET(prop_info->type)) {
|
||||
/* special case for typed properties */
|
||||
zend_binary_assign_op_typed_prop(prop_info, zptr, value OPLINE_CC EXECUTE_DATA_CC);
|
||||
} else {
|
||||
@@ -24374,7 +24374,8 @@ pre_incdec_object:
|
||||
}
|
||||
} else {
|
||||
prop_info = (zend_property_info *) CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_pre_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_pre_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_pre_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -24437,7 +24438,8 @@ post_incdec_object:
|
||||
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||
} else {
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_post_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_post_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_post_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -27245,7 +27247,7 @@ assign_op_object:
|
||||
}
|
||||
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
if (prop_info) {
|
||||
if (prop_info && ZEND_TYPE_IS_SET(prop_info->type)) {
|
||||
/* special case for typed properties */
|
||||
zend_binary_assign_op_typed_prop(prop_info, zptr, value OPLINE_CC EXECUTE_DATA_CC);
|
||||
} else {
|
||||
@@ -27455,7 +27457,8 @@ pre_incdec_object:
|
||||
}
|
||||
} else {
|
||||
prop_info = (zend_property_info *) CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_pre_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_pre_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_pre_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -27518,7 +27521,8 @@ post_incdec_object:
|
||||
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||
} else {
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_post_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_post_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_post_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -31682,7 +31686,7 @@ assign_op_object:
|
||||
}
|
||||
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
if (prop_info) {
|
||||
if (prop_info && ZEND_TYPE_IS_SET(prop_info->type)) {
|
||||
/* special case for typed properties */
|
||||
zend_binary_assign_op_typed_prop(prop_info, zptr, value OPLINE_CC EXECUTE_DATA_CC);
|
||||
} else {
|
||||
@@ -31893,7 +31897,8 @@ pre_incdec_object:
|
||||
}
|
||||
} else {
|
||||
prop_info = (zend_property_info *) CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_pre_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_pre_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_pre_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -31956,7 +31961,8 @@ post_incdec_object:
|
||||
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||
} else {
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_post_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_post_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_post_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -34430,7 +34436,7 @@ assign_op_object:
|
||||
}
|
||||
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
if (prop_info) {
|
||||
if (prop_info && ZEND_TYPE_IS_SET(prop_info->type)) {
|
||||
/* special case for typed properties */
|
||||
zend_binary_assign_op_typed_prop(prop_info, zptr, value OPLINE_CC EXECUTE_DATA_CC);
|
||||
} else {
|
||||
@@ -34510,7 +34516,8 @@ pre_incdec_object:
|
||||
}
|
||||
} else {
|
||||
prop_info = (zend_property_info *) CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_pre_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_pre_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_pre_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -34574,7 +34581,8 @@ post_incdec_object:
|
||||
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||
} else {
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_post_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_post_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_post_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -36681,7 +36689,7 @@ assign_op_object:
|
||||
}
|
||||
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
if (prop_info) {
|
||||
if (prop_info && ZEND_TYPE_IS_SET(prop_info->type)) {
|
||||
/* special case for typed properties */
|
||||
zend_binary_assign_op_typed_prop(prop_info, zptr, value OPLINE_CC EXECUTE_DATA_CC);
|
||||
} else {
|
||||
@@ -36760,7 +36768,8 @@ pre_incdec_object:
|
||||
}
|
||||
} else {
|
||||
prop_info = (zend_property_info *) CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_pre_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_pre_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_pre_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -36824,7 +36833,8 @@ post_incdec_object:
|
||||
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||
} else {
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_post_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_post_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_post_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -39365,7 +39375,7 @@ assign_op_object:
|
||||
}
|
||||
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
if (prop_info) {
|
||||
if (prop_info && ZEND_TYPE_IS_SET(prop_info->type)) {
|
||||
/* special case for typed properties */
|
||||
zend_binary_assign_op_typed_prop(prop_info, zptr, value OPLINE_CC EXECUTE_DATA_CC);
|
||||
} else {
|
||||
@@ -39445,7 +39455,8 @@ pre_incdec_object:
|
||||
}
|
||||
} else {
|
||||
prop_info = (zend_property_info *) CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_pre_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_pre_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_pre_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -39509,7 +39520,8 @@ post_incdec_object:
|
||||
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||
} else {
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_post_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_post_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_post_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -43606,7 +43618,7 @@ assign_op_object:
|
||||
}
|
||||
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
if (prop_info) {
|
||||
if (prop_info && ZEND_TYPE_IS_SET(prop_info->type)) {
|
||||
/* special case for typed properties */
|
||||
zend_binary_assign_op_typed_prop(prop_info, zptr, value OPLINE_CC EXECUTE_DATA_CC);
|
||||
} else {
|
||||
@@ -43820,7 +43832,8 @@ pre_incdec_object:
|
||||
}
|
||||
} else {
|
||||
prop_info = (zend_property_info *) CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_pre_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_pre_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_pre_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -43884,7 +43897,8 @@ post_incdec_object:
|
||||
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||
} else {
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_post_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_post_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_post_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -47698,7 +47712,7 @@ assign_op_object:
|
||||
}
|
||||
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
if (prop_info) {
|
||||
if (prop_info && ZEND_TYPE_IS_SET(prop_info->type)) {
|
||||
/* special case for typed properties */
|
||||
zend_binary_assign_op_typed_prop(prop_info, zptr, value OPLINE_CC EXECUTE_DATA_CC);
|
||||
} else {
|
||||
@@ -47911,7 +47925,8 @@ pre_incdec_object:
|
||||
}
|
||||
} else {
|
||||
prop_info = (zend_property_info *) CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_pre_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_pre_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_pre_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -47975,7 +47990,8 @@ post_incdec_object:
|
||||
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||
} else {
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_post_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_post_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_post_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -53357,7 +53373,7 @@ assign_op_object:
|
||||
}
|
||||
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
if (prop_info) {
|
||||
if (prop_info && ZEND_TYPE_IS_SET(prop_info->type)) {
|
||||
/* special case for typed properties */
|
||||
zend_binary_assign_op_typed_prop(prop_info, zptr, value OPLINE_CC EXECUTE_DATA_CC);
|
||||
} else {
|
||||
@@ -53571,7 +53587,8 @@ pre_incdec_object:
|
||||
}
|
||||
} else {
|
||||
prop_info = (zend_property_info *) CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_pre_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_pre_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_pre_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -53635,7 +53652,8 @@ post_incdec_object:
|
||||
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||
} else {
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_post_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_post_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_post_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -79600,7 +79618,7 @@ assign_op_object:
|
||||
}
|
||||
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
if (prop_info) {
|
||||
if (prop_info && ZEND_TYPE_IS_SET(prop_info->type)) {
|
||||
/* special case for typed properties */
|
||||
zend_binary_assign_op_typed_prop(prop_info, zptr, value OPLINE_CC EXECUTE_DATA_CC);
|
||||
} else {
|
||||
@@ -79811,7 +79829,8 @@ pre_incdec_object:
|
||||
}
|
||||
} else {
|
||||
prop_info = (zend_property_info *) CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_pre_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_pre_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_pre_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -79874,7 +79893,8 @@ post_incdec_object:
|
||||
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||
} else {
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_post_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_post_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_post_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -82682,7 +82702,7 @@ assign_op_object:
|
||||
}
|
||||
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
if (prop_info) {
|
||||
if (prop_info && ZEND_TYPE_IS_SET(prop_info->type)) {
|
||||
/* special case for typed properties */
|
||||
zend_binary_assign_op_typed_prop(prop_info, zptr, value OPLINE_CC EXECUTE_DATA_CC);
|
||||
} else {
|
||||
@@ -82892,7 +82912,8 @@ pre_incdec_object:
|
||||
}
|
||||
} else {
|
||||
prop_info = (zend_property_info *) CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_pre_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_pre_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_pre_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -82955,7 +82976,8 @@ post_incdec_object:
|
||||
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||
} else {
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_post_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_post_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_post_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -87119,7 +87141,7 @@ assign_op_object:
|
||||
}
|
||||
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
if (prop_info) {
|
||||
if (prop_info && ZEND_TYPE_IS_SET(prop_info->type)) {
|
||||
/* special case for typed properties */
|
||||
zend_binary_assign_op_typed_prop(prop_info, zptr, value OPLINE_CC EXECUTE_DATA_CC);
|
||||
} else {
|
||||
@@ -87330,7 +87352,8 @@ pre_incdec_object:
|
||||
}
|
||||
} else {
|
||||
prop_info = (zend_property_info *) CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_pre_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_pre_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_pre_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -87393,7 +87416,8 @@ post_incdec_object:
|
||||
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||
} else {
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_post_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_post_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_post_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -89867,7 +89891,7 @@ assign_op_object:
|
||||
}
|
||||
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
if (prop_info) {
|
||||
if (prop_info && ZEND_TYPE_IS_SET(prop_info->type)) {
|
||||
/* special case for typed properties */
|
||||
zend_binary_assign_op_typed_prop(prop_info, zptr, value OPLINE_CC EXECUTE_DATA_CC);
|
||||
} else {
|
||||
@@ -89947,7 +89971,8 @@ pre_incdec_object:
|
||||
}
|
||||
} else {
|
||||
prop_info = (zend_property_info *) CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_pre_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_pre_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_pre_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -90011,7 +90036,8 @@ post_incdec_object:
|
||||
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||
} else {
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_post_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_post_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_post_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -92118,7 +92144,7 @@ assign_op_object:
|
||||
}
|
||||
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
if (prop_info) {
|
||||
if (prop_info && ZEND_TYPE_IS_SET(prop_info->type)) {
|
||||
/* special case for typed properties */
|
||||
zend_binary_assign_op_typed_prop(prop_info, zptr, value OPLINE_CC EXECUTE_DATA_CC);
|
||||
} else {
|
||||
@@ -92197,7 +92223,8 @@ pre_incdec_object:
|
||||
}
|
||||
} else {
|
||||
prop_info = (zend_property_info *) CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_pre_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_pre_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_pre_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -92261,7 +92288,8 @@ post_incdec_object:
|
||||
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||
} else {
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_post_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_post_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_post_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -94802,7 +94830,7 @@ assign_op_object:
|
||||
}
|
||||
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
if (prop_info) {
|
||||
if (prop_info && ZEND_TYPE_IS_SET(prop_info->type)) {
|
||||
/* special case for typed properties */
|
||||
zend_binary_assign_op_typed_prop(prop_info, zptr, value OPLINE_CC EXECUTE_DATA_CC);
|
||||
} else {
|
||||
@@ -94882,7 +94910,8 @@ pre_incdec_object:
|
||||
}
|
||||
} else {
|
||||
prop_info = (zend_property_info *) CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_pre_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_pre_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_pre_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -94946,7 +94975,8 @@ post_incdec_object:
|
||||
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||
} else {
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_post_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_post_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_post_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -99043,7 +99073,7 @@ assign_op_object:
|
||||
}
|
||||
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
if (prop_info) {
|
||||
if (prop_info && ZEND_TYPE_IS_SET(prop_info->type)) {
|
||||
/* special case for typed properties */
|
||||
zend_binary_assign_op_typed_prop(prop_info, zptr, value OPLINE_CC EXECUTE_DATA_CC);
|
||||
} else {
|
||||
@@ -99257,7 +99287,8 @@ pre_incdec_object:
|
||||
}
|
||||
} else {
|
||||
prop_info = (zend_property_info *) CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_pre_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_pre_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_pre_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -99321,7 +99352,8 @@ post_incdec_object:
|
||||
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||
} else {
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_post_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_post_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_post_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -103135,7 +103167,7 @@ assign_op_object:
|
||||
}
|
||||
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
if (prop_info) {
|
||||
if (prop_info && ZEND_TYPE_IS_SET(prop_info->type)) {
|
||||
/* special case for typed properties */
|
||||
zend_binary_assign_op_typed_prop(prop_info, zptr, value OPLINE_CC EXECUTE_DATA_CC);
|
||||
} else {
|
||||
@@ -103348,7 +103380,8 @@ pre_incdec_object:
|
||||
}
|
||||
} else {
|
||||
prop_info = (zend_property_info *) CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_pre_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_pre_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_pre_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -103412,7 +103445,8 @@ post_incdec_object:
|
||||
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||
} else {
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_post_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_post_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_post_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -108692,7 +108726,7 @@ assign_op_object:
|
||||
}
|
||||
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
if (prop_info) {
|
||||
if (prop_info && ZEND_TYPE_IS_SET(prop_info->type)) {
|
||||
/* special case for typed properties */
|
||||
zend_binary_assign_op_typed_prop(prop_info, zptr, value OPLINE_CC EXECUTE_DATA_CC);
|
||||
} else {
|
||||
@@ -108906,7 +108940,8 @@ pre_incdec_object:
|
||||
}
|
||||
} else {
|
||||
prop_info = (zend_property_info *) CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_pre_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_pre_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_pre_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
@@ -108970,7 +109005,8 @@ post_incdec_object:
|
||||
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||
} else {
|
||||
prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2);
|
||||
zend_post_incdec_property_zval(zptr, prop_info OPLINE_CC EXECUTE_DATA_CC);
|
||||
zend_post_incdec_property_zval(zptr,
|
||||
prop_info && ZEND_TYPE_IS_SET(prop_info->type) ? prop_info : NULL OPLINE_CC EXECUTE_DATA_CC);
|
||||
}
|
||||
} else {
|
||||
zend_post_incdec_overloaded_property(zobj, name, cache_slot OPLINE_CC EXECUTE_DATA_CC);
|
||||
|
||||
Reference in New Issue
Block a user