From e28ab687d23c723fc6048c14aaeeac89828b4023 Mon Sep 17 00:00:00 2001 From: Zeev Suraski Date: Wed, 4 Feb 2004 23:48:39 +0000 Subject: Fix exceptions happening inside internal functions called through zend_user_function() --- Zend/zend_execute_API.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'Zend/zend_execute_API.c') diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index fb2b2b7082..09cd8dc5b4 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -547,12 +547,11 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS } /* Initialize execute_data */ - EX(fbc) = NULL; - EX(object) = NULL; - EX(Ts) = NULL; - EX(op_array) = NULL; - EX(opline) = NULL; - *fci->retval_ptr_ptr = NULL; + if (EG(current_execute_data)) { + execute_data = *EG(current_execute_data); + } else { + memset(&execute_data, 0, sizeof(zend_execute_data)); + } if (!fci_cache || !fci_cache->initialized) { if (fci->function_name->type==IS_ARRAY) { /* assume array($obj, $name) couple */ -- cgit v1.2.1