diff options
| author | jvoisin | 2018-08-09 16:28:15 +0200 |
|---|---|---|
| committer | jvoisin | 2018-08-09 16:28:15 +0200 |
| commit | 568fc607acea0290179ea0680e1185642cd467ca (patch) | |
| tree | f0bd7ee3812f18397ff0cb616fcacae0f6079031 | |
| parent | e5d1375bae4fa16f1e92aaece70edf16a3d09959 (diff) | |
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`.
| -rw-r--r-- | src/sp_execute.c | 6 |
1 files changed, 1 insertions, 5 deletions
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: | |||
| 271 | int hook_execute(void) { | 271 | int hook_execute(void) { |
| 272 | TSRMLS_FETCH(); | 272 | TSRMLS_FETCH(); |
| 273 | 273 | ||
| 274 | if (NULL == orig_execute_ex) { | 274 | if (NULL == orig_execute_ex && NULL == orig_zend_stream_open) { |
| 275 | /* zend_execute_ex is used for "user" function calls */ | 275 | /* zend_execute_ex is used for "user" function calls */ |
| 276 | orig_execute_ex = zend_execute_ex; | 276 | orig_execute_ex = zend_execute_ex; |
| 277 | zend_execute_ex = sp_execute_ex; | 277 | zend_execute_ex = sp_execute_ex; |
| 278 | } | ||
| 279 | 278 | ||
| 280 | if (NULL == orig_zend_execute_internal) { | ||
| 281 | /* zend_execute_internal is used for "builtin" functions calls */ | 279 | /* zend_execute_internal is used for "builtin" functions calls */ |
| 282 | orig_zend_execute_internal = zend_execute_internal; | 280 | orig_zend_execute_internal = zend_execute_internal; |
| 283 | zend_execute_internal = sp_zend_execute_internal; | 281 | zend_execute_internal = sp_zend_execute_internal; |
| 284 | } | ||
| 285 | 282 | ||
| 286 | if (NULL == orig_zend_stream_open) { | ||
| 287 | /* zend_stream_open_function is used for include-related stuff */ | 283 | /* zend_stream_open_function is used for include-related stuff */ |
| 288 | orig_zend_stream_open = zend_stream_open_function; | 284 | orig_zend_stream_open = zend_stream_open_function; |
| 289 | zend_stream_open_function = sp_stream_open; | 285 | zend_stream_open_function = sp_stream_open; |
