From: Sterling Hughes Date: Fri, 16 Aug 2002 10:08:32 +0000 (+0000) Subject: clean this up a bit X-Git-Tag: php-4.3.0dev_zend2_alpha3~10 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=88c1d8983ff9abe548aa025133c8b740f8e64777;p=php clean this up a bit --- diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index 2dec86e88a..e9abf4e749 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -2073,26 +2073,25 @@ PHP_FUNCTION(ini_set) RETVAL_FALSE; } +#define _CHECK_PATH(var, ini) php_ini_check_path(Z_STRVAL_PP(var), Z_STRLEN_PP(var), ini, sizeof(ini)) + /* safe_mode & basedir check */ - if( - (PG(safe_mode) || PG(open_basedir)) && - ( - php_ini_check_path((((*varname)->value).str).val, (((*varname)->value).str).len, "error_log", sizeof("error_log")) || - php_ini_check_path((((*varname)->value).str).val, (((*varname)->value).str).len, "java.class.path", sizeof("java.class.path")) || - php_ini_check_path((((*varname)->value).str).val, (((*varname)->value).str).len, "java.home", sizeof("java.home")) || - php_ini_check_path((((*varname)->value).str).val, (((*varname)->value).str).len, "java.library.path", sizeof("java.library.path")) || - php_ini_check_path((((*varname)->value).str).val, (((*varname)->value).str).len, "session.save_path", sizeof("session.save_path")) || - php_ini_check_path((((*varname)->value).str).val, (((*varname)->value).str).len, "vpopmail.directory", sizeof("vpopmail.directory")) - ) - ) { - if (PG(safe_mode) &&(!php_checkuid(Z_STRVAL_PP(new_value), NULL, CHECKUID_CHECK_FILE_AND_DIR))) { - zval_dtor(return_value); - RETURN_FALSE; - } + if (PG(safe_mode) || PG(open_basedir)) { + if (_CHECK_PATH(varname, "error_log") || + _CHECK_PATH(varname, "java.class.path") || + _CHECK_PATH(varname, "java.home") || + _CHECK_PATH(varname, "java.library.path") || + _CHECK_PATH(varname, "session.save_path") || + _CHECK_PATH(varname, "vpopmail.directory")) { + if (PG(safe_mode) &&(!php_checkuid(Z_STRVAL_PP(new_value), NULL, CHECKUID_CHECK_FILE_AND_DIR))) { + zval_dtor(return_value); + RETURN_FALSE; + } - if (php_check_open_basedir(Z_STRVAL_PP(new_value) TSRMLS_CC)) { - zval_dtor(return_value); - RETURN_FALSE; + if (php_check_open_basedir(Z_STRVAL_PP(new_value) TSRMLS_CC)) { + zval_dtor(return_value); + RETURN_FALSE; + } } }