@@ -1989,16 +1989,6 @@ PHP_FUNCTION(ini_get_all)
19891989}
19901990/* }}} */
19911991
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-
20021992/* {{{ Set a configuration option, returns false on error and the old value of the configuration option on success */
20031993PHP_FUNCTION (ini_set )
20041994{
@@ -2027,23 +2017,23 @@ PHP_FUNCTION(ini_set)
20272017 zend_string * new_value_tmp_str ;
20282018 zend_string * new_value_str = zval_get_tmp_string (new_value , & new_value_tmp_str );
20292019
2030- #define _CHECK_PATH (var , var_len , ini ) php_ini_check_path(var, var_len, ini, sizeof(ini))
20312020 /* open basedir check */
20322021 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+ ) {
20392030 if (php_check_open_basedir (ZSTR_VAL (new_value_str ))) {
20402031 zval_ptr_dtor_str (return_value );
20412032 zend_tmp_string_release (new_value_tmp_str );
20422033 RETURN_FALSE ;
20432034 }
20442035 }
20452036 }
2046- #undef _CHECK_PATH
20472037
20482038 if (zend_alter_ini_entry_ex (varname , new_value_str , PHP_INI_USER , PHP_INI_STAGE_RUNTIME , 0 ) == FAILURE ) {
20492039 zval_ptr_dtor_str (return_value );
0 commit comments