summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/zend_execute.c6
-rw-r--r--Zend/zend_vm_def.h2
-rw-r--r--Zend/zend_vm_execute.h8
3 files changed, 8 insertions, 8 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 4607a4cc10..fc041a9114 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -544,7 +544,7 @@ static inline void zend_assign_to_object(znode *result, zval **object_ptr, znode
}
zend_error(E_STRICT, "Implicit cloning object of class '%s' because of 'zend.ze1_compatibility_mode'", class_name);
value->value.obj = Z_OBJ_HANDLER_P(orig_value, clone_obj)(orig_value TSRMLS_CC);
- if(dup) {
+ if(!dup) {
efree(class_name);
}
} else if (value_op->op_type == IS_TMP_VAR) {
@@ -735,7 +735,7 @@ static inline void zend_assign_to_variable(znode *result, znode *op1, znode *op2
zval_ptr_dtor(&value);
}
}
- if (dup == SUCCESS) {
+ if (!dup) {
efree(class_name);
}
} else if (PZVAL_IS_REF(variable_ptr)) {
@@ -848,7 +848,7 @@ static inline void zend_receive(zval **variable_ptr_ptr, zval *value TSRMLS_DC)
zend_error(E_STRICT, "Implicit cloning object of class '%s' because of 'zend.ze1_compatibility_mode'", class_name);
variable_ptr->value.obj = Z_OBJ_HANDLER_P(value, clone_obj)(value TSRMLS_CC);
}
- if (dup) {
+ if (!dup) {
efree(class_name);
}
} else {
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h
index 46fc909f15..40608816d9 100644
--- a/Zend/zend_vm_def.h
+++ b/Zend/zend_vm_def.h
@@ -2027,7 +2027,7 @@ ZEND_VM_C_LABEL(return_by_value):
zend_error(E_STRICT, "Implicit cloning object of class '%s' because of 'zend.ze1_compatibility_mode'", class_name);
ret->value.obj = Z_OBJ_HT_P(retval_ptr)->clone_obj(retval_ptr TSRMLS_CC);
*EG(return_value_ptr_ptr) = ret;
- if (dup) {
+ if (!dup) {
efree(class_name);
}
} else if (!IS_OP1_TMP_FREE()) { /* Not a temp var */
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h
index 7e2a1113ca..1fda00d121 100644
--- a/Zend/zend_vm_execute.h
+++ b/Zend/zend_vm_execute.h
@@ -1638,7 +1638,7 @@ return_by_value:
zend_error(E_STRICT, "Implicit cloning object of class '%s' because of 'zend.ze1_compatibility_mode'", class_name);
ret->value.obj = Z_OBJ_HT_P(retval_ptr)->clone_obj(retval_ptr TSRMLS_CC);
*EG(return_value_ptr_ptr) = ret;
- if (dup) {
+ if (!dup) {
efree(class_name);
}
} else if (!0) { /* Not a temp var */
@@ -4050,7 +4050,7 @@ return_by_value:
zend_error(E_STRICT, "Implicit cloning object of class '%s' because of 'zend.ze1_compatibility_mode'", class_name);
ret->value.obj = Z_OBJ_HT_P(retval_ptr)->clone_obj(retval_ptr TSRMLS_CC);
*EG(return_value_ptr_ptr) = ret;
- if (dup) {
+ if (!dup) {
efree(class_name);
}
} else if (!1) { /* Not a temp var */
@@ -6983,7 +6983,7 @@ return_by_value:
zend_error(E_STRICT, "Implicit cloning object of class '%s' because of 'zend.ze1_compatibility_mode'", class_name);
ret->value.obj = Z_OBJ_HT_P(retval_ptr)->clone_obj(retval_ptr TSRMLS_CC);
*EG(return_value_ptr_ptr) = ret;
- if (dup) {
+ if (!dup) {
efree(class_name);
}
} else if (!0) { /* Not a temp var */
@@ -19023,7 +19023,7 @@ return_by_value:
zend_error(E_STRICT, "Implicit cloning object of class '%s' because of 'zend.ze1_compatibility_mode'", class_name);
ret->value.obj = Z_OBJ_HT_P(retval_ptr)->clone_obj(retval_ptr TSRMLS_CC);
*EG(return_value_ptr_ptr) = ret;
- if (dup) {
+ if (!dup) {
efree(class_name);
}
} else if (!0) { /* Not a temp var */