fix segfault when $host is used and

*) request is "GET http://host" without CR or LF, or timed out
*) request is "GET      http://host" with a large blank space
This commit is contained in:
Igor Sysoev 2006-12-15 10:24:57 +00:00
parent c996d3250d
commit 03011fa512
2 changed files with 8 additions and 2 deletions

View File

@ -1104,7 +1104,9 @@ ngx_http_alloc_large_header_buffer(ngx_http_request_t *r,
if (r->host_start) {
r->host_start = new + (r->host_start - old);
r->host_end = new + (r->host_end - old);
if (r->host_end) {
r->host_end = new + (r->host_end - old);
}
}
if (r->port_start) {

View File

@ -678,9 +678,13 @@ ngx_http_variable_host(ngx_http_request_t *r, ngx_http_variable_value_t *v,
v->data = r->server_name.data;
}
} else {
} else if (r->host_end) {
v->len = r->host_end - r->host_start;
v->data = r->host_start;
} else {
v->not_found = 1;
return NGX_OK;
}
v->valid = 1;