diff options
-rw-r--r-- | Zend/zend_vm_def.h | 1 | ||||
-rw-r--r-- | Zend/zend_vm_execute.h | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 3938445321..e4fd8e8e28 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -4193,6 +4193,7 @@ ZEND_VM_HANDLER(107, ZEND_CATCH, CONST, CV) if (UNEXPECTED(Z_ISREF_P(ex))) { ex = Z_REFVAL_P(ex); } + zval_ptr_dtor(ex); ZVAL_OBJ(ex, EG(exception)); if (UNEXPECTED(EG(exception) != exception)) { GC_REFCOUNT(EG(exception))++; diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 08a5ae622d..0103128183 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -9592,6 +9592,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CATCH_SPEC_CONST_CV_HANDLER(ZE if (UNEXPECTED(Z_ISREF_P(ex))) { ex = Z_REFVAL_P(ex); } + zval_ptr_dtor(ex); ZVAL_OBJ(ex, EG(exception)); if (UNEXPECTED(EG(exception) != exception)) { GC_REFCOUNT(EG(exception))++; |