@@ -1989,16 +1989,6 @@ PHP_FUNCTION(ini_get_all)
1989
1989
}
1990
1990
/* }}} */
1991
1991
1992
- static int php_ini_check_path (char * option_name , size_t option_len , char * new_option_name , size_t new_option_len ) /* {{{ */
1993
- {
1994
- if (option_len + 1 != new_option_len ) {
1995
- return 0 ;
1996
- }
1997
-
1998
- return !strncmp (option_name , new_option_name , option_len );
1999
- }
2000
- /* }}} */
2001
-
2002
1992
/* {{{ Set a configuration option, returns false on error and the old value of the configuration option on success */
2003
1993
PHP_FUNCTION (ini_set )
2004
1994
{
@@ -2027,23 +2017,23 @@ PHP_FUNCTION(ini_set)
2027
2017
zend_string * new_value_tmp_str ;
2028
2018
zend_string * new_value_str = zval_get_tmp_string (new_value , & new_value_tmp_str );
2029
2019
2030
- #define _CHECK_PATH (var , var_len , ini ) php_ini_check_path(var, var_len, ini, sizeof(ini))
2031
2020
/* open basedir check */
2032
2021
if (PG (open_basedir )) {
2033
- if (_CHECK_PATH (ZSTR_VAL (varname ), ZSTR_LEN (varname ), "error_log" ) ||
2034
- _CHECK_PATH (ZSTR_VAL (varname ), ZSTR_LEN (varname ), "java.class.path" ) ||
2035
- _CHECK_PATH (ZSTR_VAL (varname ), ZSTR_LEN (varname ), "java.home" ) ||
2036
- _CHECK_PATH (ZSTR_VAL (varname ), ZSTR_LEN (varname ), "mail.log" ) ||
2037
- _CHECK_PATH (ZSTR_VAL (varname ), ZSTR_LEN (varname ), "java.library.path" ) ||
2038
- _CHECK_PATH (ZSTR_VAL (varname ), ZSTR_LEN (varname ), "vpopmail.directory" )) {
2022
+ if (
2023
+ zend_string_equals_literal (varname , "error_log" )
2024
+ || zend_string_equals_literal (varname , "java.class.path" )
2025
+ || zend_string_equals_literal (varname , "java.home" )
2026
+ || zend_string_equals_literal (varname , "mail.log" )
2027
+ || zend_string_equals_literal (varname , "java.library.path" )
2028
+ || zend_string_equals_literal (varname , "vpopmail.directory" )
2029
+ ) {
2039
2030
if (php_check_open_basedir (ZSTR_VAL (new_value_str ))) {
2040
2031
zval_ptr_dtor_str (return_value );
2041
2032
zend_tmp_string_release (new_value_tmp_str );
2042
2033
RETURN_FALSE ;
2043
2034
}
2044
2035
}
2045
2036
}
2046
- #undef _CHECK_PATH
2047
2037
2048
2038
if (zend_alter_ini_entry_ex (varname , new_value_str , PHP_INI_USER , PHP_INI_STAGE_RUNTIME , 0 ) == FAILURE ) {
2049
2039
zval_ptr_dtor_str (return_value );
0 commit comments