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