From f49ee79e9592a9cbf9cf58c93d273ba4fb3cbf7e Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Mon, 17 Jul 2017 23:17:16 +0300 Subject: [PATCH] gc_check_possible_root() may throw exception. --- Zend/zend_vm_def.h | 4 ++-- Zend/zend_vm_execute.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index fa4b682209..6c5f5a2790 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -5336,13 +5336,13 @@ ZEND_VM_HANDLER(196, ZEND_UNSET_CV, CV, UNUSED) zend_refcounted *garbage = Z_COUNTED_P(var); ZVAL_UNDEF(var); + SAVE_OPLINE(); if (!--GC_REFCOUNT(garbage)) { - SAVE_OPLINE(); zval_dtor_func(garbage); - ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } else { gc_check_possible_root(garbage); } + ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } else { ZVAL_UNDEF(var); } diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index bbe6dffc07..202d208d0b 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -40127,13 +40127,13 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_CV_SPEC_CV_UNUSED_HANDLE zend_refcounted *garbage = Z_COUNTED_P(var); ZVAL_UNDEF(var); + SAVE_OPLINE(); if (!--GC_REFCOUNT(garbage)) { - SAVE_OPLINE(); zval_dtor_func(garbage); - ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } else { gc_check_possible_root(garbage); } + ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } else { ZVAL_UNDEF(var); } -- 2.50.1