From 4a45ba42b609d48c8297456d67cc8d955073b567 Mon Sep 17 00:00:00 2001 From: Ben Fuhrmannek Date: Tue, 14 Dec 2021 14:29:43 +0100 Subject: fix: include class name in eval whitelist matching --- src/sp_utils.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/sp_utils.h') diff --git a/src/sp_utils.h b/src/sp_utils.h index a4694f2..0581363 100644 --- a/src/sp_utils.h +++ b/src/sp_utils.h @@ -85,8 +85,10 @@ void sp_log_disable_ret(const char *restrict, const zend_string *restrict, bool hook_function(const char *, HashTable *, zif_handler); void unhook_functions(HashTable *ht); int hook_regexp(const sp_pcre *, HashTable *, zif_handler); -bool check_is_in_eval_whitelist(const zend_string *const function_name); +bool check_is_in_eval_whitelist(const char* function_name); int sp_log_request(const zend_string *restrict folder, const zend_string *restrict text_repr); -bool sp_zend_string_equals(const zend_string *s1, const zend_string *s2); - +#define sp_zend_string_equals(s1, s2) zend_string_equals((zend_string*)s1, (zend_string*)s2) +static inline bool sp_zend_string_equals_str(const zend_string* s1, const char *str, size_t len) { + return (ZSTR_LEN(s1) == len && !memcmp(ZSTR_VAL(s1), str, len)); +} #endif /* SP_UTILS_H */ -- cgit v1.3