iliaa Wed Feb 2 18:43:17 2005 EDT Modified files: /php-src/main fopen_wrappers.c Log: Fixed bug #31514 (open_basedir uses path_translated rather then cwd for . translation). http://cvs.php.net/diff.php/php-src/main/fopen_wrappers.c?r1=1.171&r2=1.172&ty=u Index: php-src/main/fopen_wrappers.c diff -u php-src/main/fopen_wrappers.c:1.171 php-src/main/fopen_wrappers.c:1.172 --- php-src/main/fopen_wrappers.c:1.171 Thu Sep 23 11:43:54 2004 +++ php-src/main/fopen_wrappers.c Wed Feb 2 18:43:17 2005 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: fopen_wrappers.c,v 1.171 2004/09/23 15:43:54 hyanantha Exp $ */ +/* $Id: fopen_wrappers.c,v 1.172 2005/02/02 23:43:17 iliaa Exp $ */ /* {{{ includes */ @@ -96,24 +96,11 @@ char resolved_name[MAXPATHLEN]; char resolved_basedir[MAXPATHLEN]; char local_open_basedir[MAXPATHLEN]; - int local_open_basedir_pos; int resolved_basedir_len; int resolved_name_len; /* Special case basedir==".": Use script-directory */ - if ((strcmp(basedir, ".") == 0) && - SG(request_info).path_translated && - *SG(request_info).path_translated - ) { - strlcpy(local_open_basedir, SG(request_info).path_translated, sizeof(local_open_basedir)); - local_open_basedir_pos = strlen(local_open_basedir) - 1; - - /* Strip filename */ - while (!IS_SLASH(local_open_basedir[local_open_basedir_pos]) - && (local_open_basedir_pos >= 0)) { - local_open_basedir[local_open_basedir_pos--] = 0; - } - } else { + if (strcmp(basedir, ".") || !VCWD_GETCWD(local_open_basedir, MAXPATHLEN)) { /* Else use the unmodified path */ strlcpy(local_open_basedir, basedir, sizeof(local_open_basedir)); }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php