]> granicus.if.org Git - php/commitdiff
Fixed bug #46366 (bad cwd with / as pathinfo)
authorDmitry Stogov <dmitry@php.net>
Fri, 28 Nov 2008 11:56:50 +0000 (11:56 +0000)
committerDmitry Stogov <dmitry@php.net>
Fri, 28 Nov 2008 11:56:50 +0000 (11:56 +0000)
NEWS
sapi/cgi/cgi_main.c

diff --git a/NEWS b/NEWS
index 3513d2f3bde184f71cf5ad58bf1b7a95f8001bfe..fb51c800ee317bf73c3999b118e76228f7b50c76 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,7 @@
 PHP                                                                        NEWS
 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 ?? Dec 2008, PHP 5.2.7
+- Fixed bug #46366 (bad cwd with / as pathinfo). (Dmitry)
 
 27 Nov 2008, PHP 5.2.7RC5
 - Upgraded PCRE to version 7.8 (Fixes CVE-2008-2371) (Ilia)
index 3fb5e37dda038dfb6e13026cfcdb743dc9ab4f77..2d828acb72d9e2689cd4656d206621aad3c0fa70 100644 (file)
@@ -985,6 +985,9 @@ static void init_request_info(TSRMLS_D)
                        if (script_path_translated &&
                                (script_path_translated_len = strlen(script_path_translated)) > 0 &&
                                (script_path_translated[script_path_translated_len-1] == '/' ||
+#ifdef PHP_WIN32
+                                script_path_translated[script_path_translated_len-1] == '\\' ||
+#endif
                             (real_path = tsrm_realpath(script_path_translated, NULL TSRMLS_CC)) == NULL)) {
                                char *pt = estrndup(script_path_translated, script_path_translated_len);
                                int len = script_path_translated_len;