iliaa           Mon Nov  1 19:37:55 2004 EDT

  Modified files:              (Branch: PHP_5_0)
    /php-src/ext/standard       link.c 
  Log:
  MFH: Fixed open_basedir & safe_mode bypass inside readlink() function.
  
  
http://cvs.php.net/diff.php/php-src/ext/standard/link.c?r1=1.48&r2=1.48.2.1&ty=u
Index: php-src/ext/standard/link.c
diff -u php-src/ext/standard/link.c:1.48 php-src/ext/standard/link.c:1.48.2.1
--- php-src/ext/standard/link.c:1.48    Thu Jan  8 03:17:33 2004
+++ php-src/ext/standard/link.c Mon Nov  1 19:37:55 2004
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: link.c,v 1.48 2004/01/08 08:17:33 andi Exp $ */
+/* $Id: link.c,v 1.48.2.1 2004/11/02 00:37:55 iliaa Exp $ */
 
 #include "php.h"
 #include "php_filestat.h"
@@ -65,6 +65,14 @@
        }
        convert_to_string_ex(filename);
 
+       if (PG(safe_mode) && !php_checkuid(Z_STRVAL_PP(filename), NULL, 
CHECKUID_CHECK_FILE_AND_DIR)) {
+               RETURN_FALSE;
+       }
+
+       if (php_check_open_basedir(Z_STRVAL_PP(filename) TSRMLS_CC)) {
+               RETURN_FALSE;
+       }
+
        ret = readlink(Z_STRVAL_PP(filename), buff, MAXPATHLEN-1);
 
        if (ret == -1) {

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to