From: Dmitry Stogov Date: Mon, 17 Jul 2017 20:17:16 +0000 (+0300) Subject: gc_check_possible_root() may throw exception. X-Git-Tag: php-7.2.0beta1~9 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f49ee79e9592a9cbf9cf58c93d273ba4fb3cbf7e;p=php gc_check_possible_root() may throw exception. --- 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); }