diff options
| author | jvoisin | 2021-05-09 22:32:20 +0200 |
|---|---|---|
| committer | jvoisin | 2021-05-09 22:32:46 +0200 |
| commit | c3115fc26daebd0fa7135c202154272e42fbfcfd (patch) | |
| tree | 269f58c105c0a10278386acd8f6b36c22a586064 | |
| parent | ec67149705739f9c13dc1f5dee335768cab3d7a0 (diff) | |
Add some checks to prevent recursion upon config reloading
| -rw-r--r-- | src/snuffleupagus.c | 2 | ||||
| -rw-r--r-- | src/sp_upload_validation.c | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/snuffleupagus.c b/src/snuffleupagus.c index 79a3003..f360a0c 100644 --- a/src/snuffleupagus.c +++ b/src/snuffleupagus.c | |||
| @@ -325,7 +325,7 @@ static PHP_INI_MH(OnUpdateConfiguration) { | |||
| 325 | zend_hash_str_find( | 325 | zend_hash_str_find( |
| 326 | SNUFFLEUPAGUS_G(config).config_disabled_functions_ret_hooked, "echo", | 326 | SNUFFLEUPAGUS_G(config).config_disabled_functions_ret_hooked, "echo", |
| 327 | sizeof("echo") - 1)) && | 327 | sizeof("echo") - 1)) && |
| 328 | NULL == zend_write_default) { | 328 | NULL == zend_write_default && zend_write != hook_echo) { |
| 329 | zend_write_default = zend_write; | 329 | zend_write_default = zend_write; |
| 330 | zend_write = hook_echo; | 330 | zend_write = hook_echo; |
| 331 | } | 331 | } |
diff --git a/src/sp_upload_validation.c b/src/sp_upload_validation.c index f3ae311..cebab3e 100644 --- a/src/sp_upload_validation.c +++ b/src/sp_upload_validation.c | |||
| @@ -103,6 +103,10 @@ int sp_rfc1867_callback(unsigned int event, void *event_data, void **extra) { | |||
| 103 | #endif | 103 | #endif |
| 104 | 104 | ||
| 105 | void hook_upload() { | 105 | void hook_upload() { |
| 106 | if (php_rfc1867_callback == sp_rfc1867_callback) { | ||
| 107 | return; | ||
| 108 | } | ||
| 109 | |||
| 106 | if (NULL == sp_rfc1867_orig_callback) { | 110 | if (NULL == sp_rfc1867_orig_callback) { |
| 107 | sp_rfc1867_orig_callback = php_rfc1867_callback; | 111 | sp_rfc1867_orig_callback = php_rfc1867_callback; |
| 108 | php_rfc1867_callback = sp_rfc1867_callback; | 112 | php_rfc1867_callback = sp_rfc1867_callback; |
