summaryrefslogtreecommitdiff
path: root/Zend/zend_vm_execute.skl
diff options
context:
space:
mode:
authorXinchen Hui <laruence@php.net>2012-11-04 12:48:35 +0800
committerXinchen Hui <laruence@php.net>2012-11-04 12:48:35 +0800
commit7bcb8780e0ed042888f88c78919b7726be9ea931 (patch)
tree1493b8bbee8bf50a6496909ec6f7244448eec6e8 /Zend/zend_vm_execute.skl
parent3c6b0db05285d2374abc392360d6540c32f6ed66 (diff)
downloadphp-git-7bcb8780e0ed042888f88c78919b7726be9ea931.tar.gz
Fixed bug #63428 (The behavior of execute() changed)
Diffstat (limited to 'Zend/zend_vm_execute.skl')
-rw-r--r--Zend/zend_vm_execute.skl11
1 files changed, 4 insertions, 7 deletions
diff --git a/Zend/zend_vm_execute.skl b/Zend/zend_vm_execute.skl
index 58e5631c95..2a6fd71ecb 100644
--- a/Zend/zend_vm_execute.skl
+++ b/Zend/zend_vm_execute.skl
@@ -82,10 +82,6 @@ ZEND_API void {%EXECUTOR_NAME%}_ex(zend_execute_data *execute_data TSRMLS_DC)
{%INTERNAL_LABELS%}
- if (EG(exception)) {
- return;
- }
-
original_in_execution = EG(in_execution);
EG(in_execution) = 1;
@@ -110,9 +106,10 @@ ZEND_API void {%EXECUTOR_NAME%}_ex(zend_execute_data *execute_data TSRMLS_DC)
ZEND_API void {%EXECUTOR_NAME%}(zend_op_array *op_array TSRMLS_DC)
{
- zend_execute_data *execute_data = zend_create_execute_data_from_op_array(op_array, 0 TSRMLS_CC);
-
- {%EXECUTOR_NAME%}_ex(execute_data TSRMLS_CC);
+ if (EG(exception)) {
+ return;
+ }
+ {%EXECUTOR_NAME%}_ex(zend_create_execute_data_from_op_array(op_array, 0 TSRMLS_CC) TSRMLS_CC);
}
{%EXTERNAL_EXECUTOR%}