From 6558559bcc1cd24e3639e4a215e9d546ee05fc48 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Tue, 18 Oct 2016 14:48:01 +0300 Subject: Fixed bug #73337 (try/catch not working with two exceptions inside a same operation) --- Zend/zend_execute_API.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'Zend/zend_execute_API.c') diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index 7eeece37d0..bf754d25df 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -826,7 +826,10 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS if (EG(active_op_array)->fn_flags & ZEND_ACC_GENERATOR) { *fci->retval_ptr_ptr = zend_generator_create_zval(EG(active_op_array) TSRMLS_CC); } else { + const zend_op *current_opline_before_exception = EG(opline_before_exception); + zend_execute(EG(active_op_array) TSRMLS_CC); + EG(opline_before_exception) = current_opline_before_exception; } if (!fci->symbol_table && EG(active_symbol_table)) { -- cgit v1.2.1