]> git.kaiwu.me - nginx.git/commitdiff
test length of proxy_pass with variables
authorIgor Sysoev <igor@sysoev.ru>
Sat, 30 Jul 2011 06:11:46 +0000 (06:11 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Sat, 30 Jul 2011 06:11:46 +0000 (06:11 +0000)
patch by Lanshun Zhou

src/http/modules/ngx_http_proxy_module.c

index 147422af88ac2594b37a2fde9cdb00cb70d7d78a..495b1743d8ba17085c6d208e4859737c6cb776d1 100644 (file)
@@ -642,15 +642,17 @@ ngx_http_proxy_eval(ngx_http_request_t *r, ngx_http_proxy_ctx_t *ctx,
         return NGX_ERROR;
     }
 
-    if (ngx_strncasecmp(proxy.data, (u_char *) "http://", 7) == 0) {
-
+    if (proxy.len > 7
+        && ngx_strncasecmp(proxy.data, (u_char *) "http://", 7) == 0)
+    {
         add = 7;
         port = 80;
 
 #if (NGX_HTTP_SSL)
 
-    } else if (ngx_strncasecmp(proxy.data, (u_char *) "https://", 8) == 0) {
-
+    } else if (proxy.len > 8
+               && ngx_strncasecmp(proxy.data, (u_char *) "https://", 8) == 0)
+    {
         add = 8;
         port = 443;
         r->upstream->ssl = 1;