changeset 5352:ec0be12c8e29

Referer: fixed hostname buffer overflow check. Because of premature check the effective buffer size was 255 symbols while the buffer is able to handle 256.
author Valentin Bartenev <vbart@nginx.com>
date Thu, 29 Aug 2013 22:35:54 +0400
parents a2c772963b04
children 1608b1135a1d
files src/http/modules/ngx_http_referer_module.c
diffstat 1 files changed, 3 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/http/modules/ngx_http_referer_module.c
+++ b/src/http/modules/ngx_http_referer_module.c
@@ -178,12 +178,12 @@ valid_scheme:
             break;
         }
 
-        buf[i] = ngx_tolower(*p);
-        key = ngx_hash(key, buf[i++]);
-
         if (i == 256) {
             goto invalid;
         }
+
+        buf[i] = ngx_tolower(*p);
+        key = ngx_hash(key, buf[i++]);
     }
 
     uri = ngx_hash_find_combined(&rlcf->hash, key, buf, p - ref);