summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2017-07-17 23:17:16 +0300
committerDmitry Stogov <dmitry@zend.com>2017-07-17 23:17:16 +0300
commitf49ee79e9592a9cbf9cf58c93d273ba4fb3cbf7e (patch)
treeed49d2f501dcdec6836a61a9c906ea4dba671932
parentcc04d42055040a985fabb6728c919e048ba7c8e8 (diff)
downloadphp-git-f49ee79e9592a9cbf9cf58c93d273ba4fb3cbf7e.tar.gz
gc_check_possible_root() may throw exception.
-rw-r--r--Zend/zend_vm_def.h4
-rw-r--r--Zend/zend_vm_execute.h4
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);
}