From 568fc607acea0290179ea0680e1185642cd467ca Mon Sep 17 00:00:00 2001 From: jvoisin Date: Thu, 9 Aug 2018 16:28:15 +0200 Subject: Fix yet an other hang/crash There are valid reasons for `orig_zend_execute_internal` to be `NULL`, we we're not checking if it is, well, `NULL`. --- src/sp_execute.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'src') diff --git a/src/sp_execute.c b/src/sp_execute.c index 1f9226c..4b7d6d0 100644 --- a/src/sp_execute.c +++ b/src/sp_execute.c @@ -271,19 +271,15 @@ end: int hook_execute(void) { TSRMLS_FETCH(); - if (NULL == orig_execute_ex) { + if (NULL == orig_execute_ex && NULL == orig_zend_stream_open) { /* zend_execute_ex is used for "user" function calls */ orig_execute_ex = zend_execute_ex; zend_execute_ex = sp_execute_ex; - } - if (NULL == orig_zend_execute_internal) { /* zend_execute_internal is used for "builtin" functions calls */ orig_zend_execute_internal = zend_execute_internal; zend_execute_internal = sp_zend_execute_internal; - } - if (NULL == orig_zend_stream_open) { /* zend_stream_open_function is used for include-related stuff */ orig_zend_stream_open = zend_stream_open_function; zend_stream_open_function = sp_stream_open; -- cgit v1.3