From c3115fc26daebd0fa7135c202154272e42fbfcfd Mon Sep 17 00:00:00 2001 From: jvoisin Date: Sun, 9 May 2021 22:32:20 +0200 Subject: Add some checks to prevent recursion upon config reloading --- src/snuffleupagus.c | 2 +- src/sp_upload_validation.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) 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) { zend_hash_str_find( SNUFFLEUPAGUS_G(config).config_disabled_functions_ret_hooked, "echo", sizeof("echo") - 1)) && - NULL == zend_write_default) { + NULL == zend_write_default && zend_write != hook_echo) { zend_write_default = zend_write; zend_write = hook_echo; } 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) { #endif void hook_upload() { + if (php_rfc1867_callback == sp_rfc1867_callback) { + return; + } + if (NULL == sp_rfc1867_orig_callback) { sp_rfc1867_orig_callback = php_rfc1867_callback; php_rfc1867_callback = sp_rfc1867_callback; -- cgit v1.3