summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2016-11-22 11:22:10 +0300
committerDmitry Stogov <dmitry@zend.com>2016-11-22 11:22:10 +0300
commit63ea4d194bab4401a7de3f1706d156d64cf137f3 (patch)
tree4bd3288003ff0fd7e80c93bca498f063a85f5008 /Zend/zend_execute.c
parent0da08fe5952afa6039015d51d6646515bde0b972 (diff)
downloadphp-git-63ea4d194bab4401a7de3f1706d156d64cf137f3.tar.gz
Fixed memory leak (Bob)
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r--Zend/zend_execute.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 326c719c65..dc3db0f9fe 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -1412,11 +1412,11 @@ static zend_never_inline void zend_pre_incdec_overloaded_property(zval *object,
zval rv;
if (Z_OBJ_HT_P(object)->read_property && Z_OBJ_HT_P(object)->write_property) {
- zval *z, obj;
+ zval *z, *zptr, obj;
ZVAL_OBJ(&obj, Z_OBJ_P(object));
Z_ADDREF(obj);
- z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, cache_slot, &rv);
+ zptr = z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, cache_slot, &rv);
if (UNEXPECTED(EG(exception))) {
OBJ_RELEASE(Z_OBJ(obj));
return;
@@ -1443,7 +1443,7 @@ static zend_never_inline void zend_pre_incdec_overloaded_property(zval *object,
}
Z_OBJ_HT(obj)->write_property(&obj, property, z, cache_slot);
OBJ_RELEASE(Z_OBJ(obj));
- zval_ptr_dtor(z);
+ zval_ptr_dtor(zptr);
} else {
zend_error(E_WARNING, "Attempt to increment/decrement property of non-object");
if (UNEXPECTED(result)) {