changeset 1667:e9bd042134cb

fix segfault
author Igor Sysoev <igor@sysoev.ru>
date Wed, 28 Nov 2007 15:06:05 +0000
parents 695cb0bf4dc4
children 3e0a27f9358f
files src/http/modules/ngx_http_proxy_module.c
diffstat 1 files changed, 4 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/http/modules/ngx_http_proxy_module.c
+++ b/src/http/modules/ngx_http_proxy_module.c
@@ -637,8 +637,6 @@ ngx_http_proxy_create_request(ngx_http_r
 
     plcf = ngx_http_get_module_loc_conf(r, ngx_http_proxy_module);
 
-    len = sizeof(ngx_http_proxy_version) - 1 + sizeof(CRLF) - 1;
-
     if (u->method.len) {
         /* HEAD was changed to GET to cache response */
         method = u->method;
@@ -652,6 +650,8 @@ ngx_http_proxy_create_request(ngx_http_r
         method.len++;
     }
 
+    len = method.len + sizeof(ngx_http_proxy_version) - 1 + sizeof(CRLF) - 1;
+
     escape = 0;
     loc_len = 0;
     unparsed_uri = 0;
@@ -659,12 +659,12 @@ ngx_http_proxy_create_request(ngx_http_r
     ctx = ngx_http_get_module_ctx(r, ngx_http_proxy_module);
 
     if (plcf->proxy_lengths) {
-        len += method.len + ctx->vars.uri.len;
+        len += ctx->vars.uri.len;
 
     } else if (ctx->vars.uri.len == 0 && r->valid_unparsed_uri && r == r->main)
     {
         unparsed_uri = 1;
-        len += method.len + r->unparsed_uri.len;
+        len += r->unparsed_uri.len;
 
     } else {
         loc_len = (r->valid_location && ctx->vars.uri.len) ?