From c463edcee51dfab4358f1aff5a70c2f2f940a20b Mon Sep 17 00:00:00 2001 From: jvoisin Date: Fri, 5 Jan 2018 11:07:15 +0100 Subject: Fix a bypass in our eval blacklist --- src/sp_execute.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/sp_execute.c') diff --git a/src/sp_execute.c b/src/sp_execute.c index a50bfd5..3ce6643 100644 --- a/src/sp_execute.c +++ b/src/sp_execute.c @@ -68,7 +68,7 @@ static void sp_execute_ex(zend_execute_data *execute_data) { } if (execute_data->func->op_array.type == ZEND_EVAL_CODE) { - SNUFFLEUPAGUS_G(in_eval) = true; + SNUFFLEUPAGUS_G(in_eval)++; sp_list_node *config = SNUFFLEUPAGUS_G(config).config_disabled_constructs->construct_eval; char *filename = get_eval_filename((char *)zend_get_executed_filename()); @@ -88,7 +88,7 @@ static void sp_execute_ex(zend_execute_data *execute_data) { sp_terminate(); } - SNUFFLEUPAGUS_G(in_eval) = false; + SNUFFLEUPAGUS_G(in_eval)--; } static int sp_stream_open(const char *filename, zend_file_handle *handle) { -- cgit v1.3