diff options
-rw-r--r-- | Zend/zend_execute.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 92ddef051e..840c18b150 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -1680,6 +1680,7 @@ static void zend_incdec_typed_ref(zend_reference *ref, zval *copy, int inc EXECU } else if (UNEXPECTED(!zend_verify_ref_assignable_zval(ref, var_ptr, EX_USES_STRICT_TYPES()))) { zval_ptr_dtor(var_ptr); ZVAL_COPY_VALUE(var_ptr, copy); + ZVAL_UNDEF(copy); } else if (copy == &tmp) { zval_ptr_dtor(&tmp); } @@ -1707,6 +1708,7 @@ static void zend_incdec_typed_prop(zend_property_info *prop_info, zval *var_ptr, } else if (UNEXPECTED(!zend_verify_property_type(prop_info, var_ptr, EX_USES_STRICT_TYPES()))) { zval_ptr_dtor(var_ptr); ZVAL_COPY_VALUE(var_ptr, copy); + ZVAL_UNDEF(copy); } else if (copy == &tmp) { zval_ptr_dtor(&tmp); } |