diff src/http/modules/ngx_http_headers_filter_module.c @ 6062:173561dfd567

Fixed invalid access to complex value defined as an empty string. Found by Valgrind.
author Sergey Kandaurov <pluknet@nginx.com>
date Tue, 31 Mar 2015 17:45:50 +0300
parents 4983f7d18fe3
children 8b6fa4842133
line wrap: on
line diff
--- a/src/http/modules/ngx_http_headers_filter_module.c
+++ b/src/http/modules/ngx_http_headers_filter_module.c
@@ -378,7 +378,7 @@ ngx_http_parse_expires(ngx_str_t *value,
         }
     }
 
-    if (value->data[0] == '@') {
+    if (value->len && value->data[0] == '@') {
         value->data++;
         value->len--;
         minus = 0;
@@ -390,12 +390,12 @@ ngx_http_parse_expires(ngx_str_t *value,
 
         *expires = NGX_HTTP_EXPIRES_DAILY;
 
-    } else if (value->data[0] == '+') {
+    } else if (value->len && value->data[0] == '+') {
         value->data++;
         value->len--;
         minus = 0;
 
-    } else if (value->data[0] == '-') {
+    } else if (value->len && value->data[0] == '-') {
         value->data++;
         value->len--;
         minus = 1;