# HG changeset patch # User Igor Sysoev # Date 1070384225 0 # Node ID e0bcfb77d6c7c2d3f7d12d60f252224dbb5ed091 # Parent c9da5900c79efdbe02f80b5ee90b4406fd2e027e nginx-0.0.1-2003-12-02-19:57:05 import diff --git a/src/http/ngx_http_parse.c b/src/http/ngx_http_parse.c --- a/src/http/ngx_http_parse.c +++ b/src/http/ngx_http_parse.c @@ -797,6 +797,12 @@ ngx_log_debug(r->connection->log, "S: %d case sw_quoted_second: if (ch >= '0' && ch <= '9') { ch = (decoded << 4) + ch - '0'; + if (ch == '%') { + state = sw_usual; + *u++ = ch; + ch = *p++; + break; + } state = quoted_state; break; } @@ -804,6 +810,12 @@ ngx_log_debug(r->connection->log, "S: %d c = ch | 0x20; if (c >= 'a' && c <= 'f') { ch = (decoded << 4) + c - 'a' + 10; + if (ch == '%') { + state = sw_usual; + *u++ = ch; + ch = *p++; + break; + } state = quoted_state; break; }