handle "/../" case more reliably

This commit is contained in:
Igor Sysoev 2009-09-14 07:42:01 +00:00
parent 12a7d493d4
commit 97aa4c86a1

View File

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