summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2020-02-06 15:48:54 +0300
committerDmitry Stogov <dmitry@zend.com>2020-02-06 15:48:54 +0300
commit5d0ef4c239eb5a2c9e0d267c57bf71f7c562c575 (patch)
treeb672c03b09fc8dc60cd367adcbe2bc552966e9f0 /Zend/zend_execute.c
parent1cffc7b97af83403106a8670e109e38a43b1cabd (diff)
downloadphp-git-5d0ef4c239eb5a2c9e0d267c57bf71f7c562c575.tar.gz
Make opcodes to return de-refereced values of typed references (in the same was as for non-typed)
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r--Zend/zend_execute.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index de00080b5a..e9017ecde9 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -1740,11 +1740,11 @@ static void zend_pre_incdec_property_zval(zval *prop, zend_property_info *prop_i
do {
if (Z_ISREF_P(prop)) {
zend_reference *ref = Z_REF_P(prop);
+ prop = Z_REFVAL_P(prop);
if (UNEXPECTED(ZEND_REF_HAS_TYPE_SOURCES(ref))) {
zend_incdec_typed_ref(ref, NULL OPLINE_CC EXECUTE_DATA_CC);
break;
}
- prop = Z_REFVAL_P(prop);
}
if (UNEXPECTED(prop_info)) {
@@ -1777,11 +1777,11 @@ static void zend_post_incdec_property_zval(zval *prop, zend_property_info *prop_
} else {
if (Z_ISREF_P(prop)) {
zend_reference *ref = Z_REF_P(prop);
+ prop = Z_REFVAL_P(prop);
if (ZEND_REF_HAS_TYPE_SOURCES(ref)) {
zend_incdec_typed_ref(ref, EX_VAR(opline->result.var) OPLINE_CC EXECUTE_DATA_CC);
return;
}
- prop = Z_REFVAL_P(prop);
}
if (UNEXPECTED(prop_info)) {