[nginx] Fixed URI normalization with merge_slashes switched off.
Ruslan Ermilov
ru at nginx.com
Tue Oct 8 18:57:55 UTC 2019
details: https://hg.nginx.org/nginx/rev/6208c5418c88
branches:
changeset: 7579:6208c5418c88
user: Maxim Dounin <mdounin at mdounin.ru>
date: Tue Oct 08 21:56:14 2019 +0300
description:
Fixed URI normalization with merge_slashes switched off.
Previously, "/foo///../bar" was normalized into "/foo/bar"
instead of "/foo//bar".
diffstat:
src/http/ngx_http_parse.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diffs (21 lines):
diff -r 79bcbe7cd3f2 -r 6208c5418c88 src/http/ngx_http_parse.c
--- a/src/http/ngx_http_parse.c Tue Oct 08 21:56:14 2019 +0300
+++ b/src/http/ngx_http_parse.c Tue Oct 08 21:56:14 2019 +0300
@@ -1471,7 +1471,7 @@ ngx_http_parse_complex_uri(ngx_http_requ
case '/':
case '?':
case '#':
- u -= 5;
+ u -= 4;
for ( ;; ) {
if (u < r->uri.data) {
return NGX_HTTP_PARSE_INVALID_REQUEST;
@@ -1575,7 +1575,7 @@ ngx_http_parse_complex_uri(ngx_http_requ
u--;
} else if (state == sw_dot_dot) {
- u -= 5;
+ u -= 4;
for ( ;; ) {
if (u < r->uri.data) {
More information about the nginx-devel
mailing list