summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>2004-03-18 14:03:58 +0000
committerZeev Suraski <zeev@php.net>2004-03-18 14:03:58 +0000
commitb8275175ff6aec4d6bf599339a918e8b9d31c1a3 (patch)
treecb5f716f93a05318d28b8196b3ad6ca0a50e6d48
parentfcfe11e9e4dd4765ed1688dc30e5ee20c5c3e110 (diff)
downloadphp-git-b8275175ff6aec4d6bf599339a918e8b9d31c1a3.tar.gz
Fix possible data corruption with __set()
-rw-r--r--Zend/zend_execute.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index eaa575db4d..d256613a79 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -434,7 +434,6 @@ static inline void zend_assign_to_object(znode *result, zval **object_ptr, znode
}
Z_OBJ_HT_P(object)->write_dimension(object, property_name, value TSRMLS_CC);
}
- zval_ptr_dtor(&value);
FREE_OP(Ts, op2, EG(free_op2));
if (result) {
@@ -442,6 +441,7 @@ static inline void zend_assign_to_object(znode *result, zval **object_ptr, znode
T(result->u.var).var.ptr_ptr = NULL; /* see if we can remove this */
SELECTIVE_PZVAL_LOCK(value, result);
}
+ zval_ptr_dtor(&value);
}