diff options
author | Dmitry Stogov <dmitry@zend.com> | 2020-02-06 15:48:54 +0300 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2020-02-06 15:48:54 +0300 |
commit | 5d0ef4c239eb5a2c9e0d267c57bf71f7c562c575 (patch) | |
tree | b672c03b09fc8dc60cd367adcbe2bc552966e9f0 /Zend/zend_execute.c | |
parent | 1cffc7b97af83403106a8670e109e38a43b1cabd (diff) | |
download | php-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.c | 4 |
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)) { |