nginx/src/http
Maxim Dounin 7930a6c442 Fixed segfault with incorrect location nesting.
A configuration with a named location inside a zero-length prefix
or regex location used to trigger a segmentation fault, as
ngx_http_core_location() failed to properly detect if a nested location
was created.  Example configuration to reproduce the problem:

    location "" {
        location @foo {}
    }

Fix is to not rely on a parent location name length, but rather check
command type we are currently parsing.

Identical fix is also applied to ngx_http_rewrite_if(), which used to
incorrectly assume the "if" directive is on server{} level in such
locations.

Reported by Markus Linnala.
Found with afl-fuzz.
2015-09-11 17:04:04 +03:00
..
modules Fixed segfault with incorrect location nesting. 2015-09-11 17:04:04 +03:00
ngx_http_cache.h Cache: added support for reading of the header in thread pools. 2015-04-01 03:49:17 +03:00
ngx_http_config.h Copyright updated. 2012-01-18 15:07:43 +00:00
ngx_http_copy_filter_module.c Added support for offloading read() in thread pools. 2015-03-14 17:37:25 +03:00
ngx_http_core_module.c Fixed segfault with incorrect location nesting. 2015-09-11 17:04:04 +03:00
ngx_http_core_module.h The "reuseport" option of the "listen" directive. 2015-05-20 15:51:56 +03:00
ngx_http_file_cache.c Cache: check the whole cache key in addition to hashes. 2015-09-11 17:03:56 +03:00
ngx_http_header_filter_module.c Fixed response line formatting with empty reason phrase. 2013-09-18 18:53:26 +04:00
ngx_http_parse.c Overflow detection in ngx_http_parse_chunked(). 2015-03-17 00:26:27 +03:00
ngx_http_postpone_filter_module.c Fixed error logging. 2013-05-21 17:30:19 +04:00
ngx_http_request_body.c Request body: always flush buffers if request buffering is off. 2015-04-06 19:20:36 +03:00
ngx_http_request.c Limit recursive subrequests instead of simultaneous. 2015-08-23 21:03:32 +03:00
ngx_http_request.h Decreased the NGX_HTTP_MAX_SUBREQUESTS limit. 2015-08-31 23:26:33 +03:00
ngx_http_script.c Style. 2013-10-18 18:13:35 +04:00
ngx_http_script.h Copyright updated. 2012-01-18 15:07:43 +00:00
ngx_http_spdy_filter_module.c SPDY: stop emitting multiple empty header values. 2014-10-27 14:25:56 -07:00
ngx_http_spdy_module.c SPDY: macro used for recv_buffer_size initialization. 2014-03-19 12:57:32 +04:00
ngx_http_spdy_module.h SPDY: added the "spdy_chunk_size" directive. 2014-01-14 16:24:45 +04:00
ngx_http_spdy.c Core: renamed ngx_proxy_protocol_parse to ngx_proxy_protocol_read. 2015-06-16 13:45:19 +03:00
ngx_http_spdy.h SPDY: fixed operator precedence in uint16/uint32 write macros. 2014-05-29 21:15:19 +04:00
ngx_http_special_response.c Fixed invalid access to complex value defined as an empty string. 2015-03-31 17:45:50 +03:00
ngx_http_upstream_round_robin.c Upstream: report to error_log when max_fails is reached. 2015-05-20 22:44:00 +03:00
ngx_http_upstream_round_robin.h Upstream: fixed shared upstreams on win32. 2015-06-16 00:43:00 +03:00
ngx_http_upstream.c Upstream: fixed cache send error handling. 2015-09-03 15:09:21 +03:00
ngx_http_upstream.h Upstream: $upstream_connect_time. 2015-05-16 01:32:27 +03:00
ngx_http_variables.c Request body: unbuffered reading. 2015-03-23 21:09:19 +03:00
ngx_http_variables.h Removed unused ngx_http_clear_variable() macro. 2013-03-21 16:06:13 +00:00
ngx_http_write_filter_module.c Format specifier fixed for file size of buffers. 2015-03-23 19:28:54 +03:00
ngx_http.c Disabled duplicate http, mail, and stream blocks. 2015-06-16 23:28:38 +03:00
ngx_http.h Moved ngx_http_parse_time() to core, renamed accordingly. 2015-06-11 20:42:31 +03:00