dmitry Tue Nov 13 09:46:39 2007 UTC Added files: (Branch: PHP_5_2) /php-src/ext/standard/tests/file bug43248.phpt
Modified files: /php-src NEWS /TSRM tsrm_virtual_cwd.c Log: Fixed Bug #43248 (backward compatibility break in realpath()) http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.1007&r2=1.2027.2.547.2.1008&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.1007 php-src/NEWS:1.2027.2.547.2.1008 --- php-src/NEWS:1.2027.2.547.2.1007 Mon Nov 12 19:00:04 2007 +++ php-src/NEWS Tue Nov 13 09:46:39 2007 @@ -1,6 +1,7 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2008, PHP 5.2.6 +- Fixed bug #43248 (backward compatibility break in realpath()). (Dmitry) - Fixed bug #43221 (SimpleXML adding default namespace in addAttribute). (Rob) - Fixed bug #43216 (stream_is_local() returns false on "file://"). (Dmitry) - Fixed bug #43201 (Crash on using unitialized vals and __get/__set). (Dmitry) http://cvs.php.net/viewvc.cgi/TSRM/tsrm_virtual_cwd.c?r1=1.74.2.9.2.36&r2=1.74.2.9.2.37&diff_format=u Index: TSRM/tsrm_virtual_cwd.c diff -u TSRM/tsrm_virtual_cwd.c:1.74.2.9.2.36 TSRM/tsrm_virtual_cwd.c:1.74.2.9.2.37 --- TSRM/tsrm_virtual_cwd.c:1.74.2.9.2.36 Tue Oct 23 05:57:35 2007 +++ TSRM/tsrm_virtual_cwd.c Tue Nov 13 09:46:39 2007 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: tsrm_virtual_cwd.c,v 1.74.2.9.2.36 2007/10/23 05:57:35 dmitry Exp $ */ +/* $Id: tsrm_virtual_cwd.c,v 1.74.2.9.2.37 2007/11/13 09:46:39 dmitry Exp $ */ #include <sys/types.h> #include <sys/stat.h> @@ -712,22 +712,24 @@ } ptr = tsrm_strtok_r(NULL, TOKENIZER_STRING, &tok); } + free(free_path); + + if (use_realpath == CWD_REALPATH) { + if (ret) { + CWD_STATE_FREE(state); + *state = old_state; + return 1; + } + } else { #if defined(TSRM_WIN32) || defined(NETWARE) - if (path[path_length-1] == '\\' || path[path_length-1] == '/') { + if (path[path_length-1] == '\\' || path[path_length-1] == '/') { #else - if (path[path_length-1] == '/') { + if (path[path_length-1] == '/') { #endif - state->cwd = (char*)realloc(state->cwd, state->cwd_length + 2); - state->cwd[state->cwd_length++] = DEFAULT_SLASH; - state->cwd[state->cwd_length] = 0; - } - - free(free_path); - - if ((use_realpath == CWD_REALPATH) && ret) { - CWD_STATE_FREE(state); - *state = old_state; - return 1; + state->cwd = (char*)realloc(state->cwd, state->cwd_length + 2); + state->cwd[state->cwd_length++] = DEFAULT_SLASH; + state->cwd[state->cwd_length] = 0; + } } if (state->cwd_length == COPY_WHEN_ABSOLUTE(state->cwd)) { http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/bug43248.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/file/bug43248.phpt +++ php-src/ext/standard/tests/file/bug43248.phpt -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php