diff --git a/main/SAPI.h b/main/SAPI.h index 098b7c8c94c..33c0e280d73 100644 --- a/main/SAPI.h +++ b/main/SAPI.h @@ -262,7 +262,7 @@ struct _sapi_module_struct { void (*ini_defaults)(HashTable *configuration_hash); int phpinfo_as_text; - char *ini_entries; + const char *ini_entries; const zend_function_entry *additional_functions; unsigned int (*input_filter_init)(void); }; diff --git a/sapi/embed/php_embed.c b/sapi/embed/php_embed.c index 4b94bd98e66..4626451f9f6 100644 --- a/sapi/embed/php_embed.c +++ b/sapi/embed/php_embed.c @@ -214,8 +214,7 @@ EMBED_SAPI_API int php_embed_init(int argc, char **argv) * allocated so any INI settings added via this callback will have the * lowest precedence and will allow INI files to overwrite them. */ - php_embed_module.ini_entries = malloc(sizeof(HARDCODED_INI)); - memcpy(php_embed_module.ini_entries, HARDCODED_INI, sizeof(HARDCODED_INI)); + php_embed_module.ini_entries = HARDCODED_INI; /* SAPI-provided functions. */ php_embed_module.additional_functions = additional_functions; @@ -264,9 +263,4 @@ EMBED_SAPI_API void php_embed_shutdown(void) #ifdef ZTS tsrm_shutdown(); #endif - - if (php_embed_module.ini_entries) { - free(php_embed_module.ini_entries); - php_embed_module.ini_entries = NULL; - } } diff --git a/sapi/fuzzer/fuzzer-sapi.c b/sapi/fuzzer/fuzzer-sapi.c index 3a79e273106..883c3a94ec3 100644 --- a/sapi/fuzzer/fuzzer-sapi.c +++ b/sapi/fuzzer/fuzzer-sapi.c @@ -144,7 +144,8 @@ int fuzzer_init_php(const char *extra_ini) if (extra_ini) { ini_len += extra_ini_len + 1; } - char *p = fuzzer_module.ini_entries = malloc(ini_len + 1); + char *p = malloc(ini_len + 1); + fuzzer_module.ini_entries = p; memcpy(p, HARDCODED_INI, sizeof(HARDCODED_INI) - 1); p += sizeof(HARDCODED_INI) - 1; if (extra_ini) { @@ -234,7 +235,7 @@ int fuzzer_shutdown_php(void) php_module_shutdown(); sapi_shutdown(); - free(fuzzer_module.ini_entries); + free((void *)fuzzer_module.ini_entries); return SUCCESS; }