mirror of
https://github.com/nginx/nginx.git
synced 2025-07-20 11:16:38 +08:00
http/static: add null-pointer checks to directory redirect (CWE-476)
This commit is contained in:
parent
5b8a5c08ce
commit
674c5c7e63
@ -163,6 +163,12 @@ ngx_http_static_handler(ngx_http_request_t *r)
|
||||
len = r->uri.len + 1;
|
||||
location = path.data + root;
|
||||
|
||||
if (location == NULL) {
|
||||
ngx_http_clear_location(r);
|
||||
return NGX_HTTP_INTERNAL_SERVER_ERROR;
|
||||
}
|
||||
|
||||
|
||||
*last = '/';
|
||||
|
||||
} else {
|
||||
@ -189,6 +195,17 @@ ngx_http_static_handler(ngx_http_request_t *r)
|
||||
*last = '/';
|
||||
|
||||
if (r->args.len) {
|
||||
|
||||
if (last == NULL) {
|
||||
ngx_http_clear_location(r);
|
||||
return NGX_HTTP_INTERNAL_SERVER_ERROR;
|
||||
}
|
||||
|
||||
|
||||
if ((size_t)((location + len) - (last + 1)) < r->args.len) {
|
||||
ngx_http_clear_location(r);
|
||||
return NGX_HTTP_INTERNAL_SERVER_ERROR;
|
||||
}
|
||||
*++last = '?';
|
||||
ngx_memcpy(++last, r->args.data, r->args.len);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user