From e0ae3d22c1e8bd3ba12d4c1b40b6942a7cba5317 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Wed, 21 Nov 2007 12:28:13 +0000 Subject: Safe exit from executor() --- Zend/zend_execute.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'Zend/zend_execute.c') diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 8f1e0f0e46..797fbe8446 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -1426,7 +1426,7 @@ ZEND_API void execute_internal(zend_execute_data *execute_data_ptr, int return_v EX(opline)++; \ } -#define ZEND_VM_RETURN_FROM_EXECUTE_LOOP() \ +#define ZEND_VM_EXIT_FROM_EXECUTE_LOOP() \ free_alloca(EX(CVs)); \ if (EX(op_array)->T < TEMP_VAR_STACK_LIMIT) { \ free_alloca(EX(Ts)); \ @@ -1435,7 +1435,10 @@ ZEND_API void execute_internal(zend_execute_data *execute_data_ptr, int return_v } \ EG(in_execution) = EX(original_in_execution); \ EG(current_execute_data) = EX(prev_execute_data); \ - EG(opline_ptr) = NULL; \ + EG(opline_ptr) = NULL; + +#define ZEND_VM_RETURN_FROM_EXECUTE_LOOP() \ + ZEND_VM_EXIT_FROM_EXECUTE_LOOP() \ ZEND_VM_RETURN() #include "zend_vm_execute.h" -- cgit v1.2.1