summaryrefslogtreecommitdiffhomepage
path: root/src/http/modules
diff options
context:
space:
mode:
authorSergey Kandaurov <pluknet@nginx.com>2015-03-31 17:45:50 +0300
committerSergey Kandaurov <pluknet@nginx.com>2015-03-31 17:45:50 +0300
commit99bf1b56ece3acd8cc5a0811de8098c828b151c8 (patch)
treea4aaf66ea019f284aef229969d6b780fd4619dad /src/http/modules
parent51df7912c4a1320ead61cb57acdeaf16ffdcc289 (diff)
downloadnginx-99bf1b56ece3acd8cc5a0811de8098c828b151c8.tar.gz
nginx-99bf1b56ece3acd8cc5a0811de8098c828b151c8.tar.bz2
Fixed invalid access to complex value defined as an empty string.
Found by Valgrind.
Diffstat (limited to 'src/http/modules')
-rw-r--r--src/http/modules/ngx_http_headers_filter_module.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/http/modules/ngx_http_headers_filter_module.c b/src/http/modules/ngx_http_headers_filter_module.c
index a10056903..a356814e4 100644
--- 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, ngx_http_expires_t *expires,
}
}
- 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, ngx_http_expires_t *expires,
*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;