]> git.kaiwu.me - nginx.git/commit
Fixed handling of very long locations (ticket #2435).
authorMaxim Dounin <mdounin@mdounin.ru>
Thu, 26 Jan 2023 00:34:44 +0000 (03:34 +0300)
committerMaxim Dounin <mdounin@mdounin.ru>
Thu, 26 Jan 2023 00:34:44 +0000 (03:34 +0300)
commitf20c6e0eb5820574417106ca5c0863a1ebbe03a7
tree9fe510456db41d3ac1d5a41219342541e18218df
parent5c18b5bc3fe14aac969d1fb1e383bc696932e1f5
Fixed handling of very long locations (ticket #2435).

Previously, location prefix length in ngx_http_location_tree_node_t was
stored as "u_char", and therefore location prefixes longer than 255 bytes
were handled incorrectly.

Fix is to use "u_short" instead.  With "u_short", prefixes up to 65535 bytes
can be safely used, and this isn't reachable due to NGX_CONF_BUFFER, which
is 4096 bytes.
src/http/ngx_http.c
src/http/ngx_http_core_module.h