summaryrefslogtreecommitdiff
path: root/sapi/cgi/cgi_main.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2007-06-26 14:47:16 +0000
committerDmitry Stogov <dmitry@php.net>2007-06-26 14:47:16 +0000
commite5909f149c569c64a24afbd053a5e6a85ca263d3 (patch)
treecf4c93022ec4fb3dc391630b3a41ef422ebeb2ec /sapi/cgi/cgi_main.c
parenta61d445360185deb999c9e0493cc026973b9a781 (diff)
downloadphp-git-e5909f149c569c64a24afbd053a5e6a85ca263d3.tar.gz
Fixed bug #40419 (Trailing Slash in CGI request don't work)
Diffstat (limited to 'sapi/cgi/cgi_main.c')
-rw-r--r--sapi/cgi/cgi_main.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/sapi/cgi/cgi_main.c b/sapi/cgi/cgi_main.c
index 67559d6895..bf58269751 100644
--- a/sapi/cgi/cgi_main.c
+++ b/sapi/cgi/cgi_main.c
@@ -766,7 +766,7 @@ static void init_request_info(TSRMLS_D)
char *env_document_root = sapi_cgibin_getenv("DOCUMENT_ROOT", sizeof("DOCUMENT_ROOT")-1 TSRMLS_CC);
if (CGIG(fix_pathinfo)) {
- char *real_path;
+ char *real_path = NULL;
char *orig_path_translated = env_path_translated;
char *orig_path_info = env_path_info;
char *orig_script_name = env_script_name;
@@ -926,6 +926,9 @@ static void init_request_info(TSRMLS_D)
efree(pt);
}
} else {
+ if (real_path) {
+ script_path_translated = real_path;
+ }
/* make sure path_info/translated are empty */
if (!orig_script_filename ||
(script_path_translated != orig_script_filename) ||
@@ -951,8 +954,10 @@ static void init_request_info(TSRMLS_D)
} else {
SG(request_info).request_uri = env_script_name;
}
+ if (real_path) {
+ free(real_path);
+ }
}
- free(real_path);
} else {
#endif
/* pre 4.3 behaviour, shouldn't be used but provides BC */