aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/http/ngx_http_request.c4
-rw-r--r--src/http/ngx_http_variables.c6
2 files changed, 8 insertions, 2 deletions
diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c
index 2c1ac9566..f6dcd6a56 100644
--- a/src/http/ngx_http_request.c
+++ b/src/http/ngx_http_request.c
@@ -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) {
diff --git a/src/http/ngx_http_variables.c b/src/http/ngx_http_variables.c
index c31defc4e..ab43638f6 100644
--- a/src/http/ngx_http_variables.c
+++ b/src/http/ngx_http_variables.c
@@ -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;