summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/zend_operators.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c
index e14911d060..b0a0e7519e 100644
--- a/Zend/zend_operators.c
+++ b/Zend/zend_operators.c
@@ -2162,9 +2162,11 @@ try_again:
if (Z_OBJ_HANDLER_P(op1, get)
&& Z_OBJ_HANDLER_P(op1, set)) {
/* proxy object */
- TSRMLS_FETCH();
zval rv;
- zval *val = Z_OBJ_HANDLER_P(op1, get)(op1, &rv TSRMLS_CC);
+ zval *val;
+ TSRMLS_FETCH();
+
+ val = Z_OBJ_HANDLER_P(op1, get)(op1, &rv TSRMLS_CC);
Z_ADDREF_P(val);
fast_increment_function(val);
Z_OBJ_HANDLER_P(op1, set)(op1, val TSRMLS_CC);
@@ -2235,9 +2237,11 @@ try_again:
if (Z_OBJ_HANDLER_P(op1, get)
&& Z_OBJ_HANDLER_P(op1, set)) {
/* proxy object */
- TSRMLS_FETCH();
zval rv;
- zval *val = Z_OBJ_HANDLER_P(op1, get)(op1, &rv TSRMLS_CC);
+ zval *val;
+ TSRMLS_FETCH();
+
+ val = Z_OBJ_HANDLER_P(op1, get)(op1, &rv TSRMLS_CC);
Z_ADDREF_P(val);
fast_decrement_function(val);
Z_OBJ_HANDLER_P(op1, set)(op1, val TSRMLS_CC);