Re: cvs: php4 /ext/standard basic_functions.c

From: Date: Fri, 16 Aug 2002 15:49:26 +0000
Subject: Re: cvs: php4 /ext/standard basic_functions.c
References: 1  Groups: php.cvs 
Request: Send a blank email to php-cvs+get-13416@lists.php.net to get a copy of this message
Phew. I got a shock when I saw (((*varname)->value).str).val :) Andi At 10:08 AM 8/16/2002 +0000, Sterling Hughes wrote:
sterling                Fri Aug 16 06:08:32 2002 EDT
Modified files:
    /php4/ext/standard  basic_functions.c
Log: clean this up a bit Index: php4/ext/standard/basic_functions.c diff -u php4/ext/standard/basic_functions.c:1.493 php4/ext/standard/basic_functions.c:1.494 --- php4/ext/standard/basic_functions.c:1.493 Thu Aug 15 21:39:10 2002 +++ php4/ext/standard/basic_functions.c Fri Aug 16 06:08:32 2002 @@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
*/ -/* $Id: basic_functions.c,v 1.493 2002/08/16 01:39:10 iliaa Exp $ */ +/* $Id: basic_functions.c,v 1.494 2002/08/16 10:08:32 sterling Exp $ */ #include "php.h" #include "php_streams.h" @@ -2073,26 +2073,25 @@
                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;
+                       }
                }
        }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php


« previous php.cvs (#13416) next »