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