mirror of
https://github.com/nginx/nginx.git
synced 2024-12-11 09:49:02 +08:00
HTTP/2: fixed null pointer dereference with server push.
r->headers_in.host can be NULL in ngx_http_v2_push_resource(). This happens when a request is terminated with 400 before the :authority or Host header is parsed, and either pushing is enabled on the server{} level or error_page 400 redirects to a location with pushes configured. Found by Coverity (CID 1429156).
This commit is contained in:
parent
09eb20c8a7
commit
c32d9d28fd
@ -946,7 +946,11 @@ ngx_http_v2_push_resource(ngx_http_request_t *r, ngx_str_t *path,
|
|||||||
|
|
||||||
host = r->headers_in.host;
|
host = r->headers_in.host;
|
||||||
|
|
||||||
if (authority->len == 0 && host) {
|
if (host == NULL) {
|
||||||
|
return NGX_ABORT;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (authority->len == 0) {
|
||||||
|
|
||||||
len = 1 + NGX_HTTP_V2_INT_OCTETS + host->value.len;
|
len = 1 + NGX_HTTP_V2_INT_OCTETS + host->value.len;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user