Skip to content

Commit 63f6251

Browse files
authored
ext/standard: Use zend_string_equals_literal API (#17292)
Instead of a custom one only available in this file
1 parent 8e40bb6 commit 63f6251

File tree

1 file changed

+8
-18
lines changed

1 file changed

+8
-18
lines changed

ext/standard/basic_functions.c

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -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 */
20031993
PHP_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

Comments
 (0)