merge r3092:

handle "/../" case more reliably
This commit is contained in:
Igor Sysoev 2009-09-07 12:03:14 +00:00
parent 4edf193b41
commit 60f79b0cfd
1 changed files with 9 additions and 5 deletions

View File

@ -1123,11 +1123,15 @@ ngx_http_parse_complex_uri(ngx_http_request_t *r, ngx_uint_t merge_slashes)
#endif
case '/':
state = sw_slash;
u -= 4;
if (u < r->uri.data) {
return NGX_HTTP_PARSE_INVALID_REQUEST;
}
while (*(u - 1) != '/') {
u -= 5;
for ( ;; ) {
if (u < r->uri.data) {
return NGX_HTTP_PARSE_INVALID_REQUEST;
}
if (*u == '/') {
u++;
break;
}
u--;
}
break;