aboutsummaryrefslogtreecommitdiff
path: root/src/core/ngx_parse.c
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2017-02-17 17:01:27 +0300
committerMaxim Dounin <mdounin@mdounin.ru>2017-02-17 17:01:27 +0300
commit6183ca9ea8b76e3da42d6d866936e3d55702ee9d (patch)
treeca1861678dda9afc6abbf1d3a57a44144e1f3549 /src/core/ngx_parse.c
parentff16c6f99c6cc0959d1632fb4030730ba27657ef (diff)
downloadnginx-6183ca9ea8b76e3da42d6d866936e3d55702ee9d.tar.gz
nginx-6183ca9ea8b76e3da42d6d866936e3d55702ee9d.zip
Fixed ngx_parse_size() / ngx_parse_offset() with 0-length strings.
Diffstat (limited to 'src/core/ngx_parse.c')
-rw-r--r--src/core/ngx_parse.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/core/ngx_parse.c b/src/core/ngx_parse.c
index 7b60c5fb6..d35e60fac 100644
--- a/src/core/ngx_parse.c
+++ b/src/core/ngx_parse.c
@@ -17,6 +17,11 @@ ngx_parse_size(ngx_str_t *line)
ssize_t size, scale, max;
len = line->len;
+
+ if (len == 0) {
+ return NGX_ERROR;
+ }
+
unit = line->data[len - 1];
switch (unit) {
@@ -58,6 +63,11 @@ ngx_parse_offset(ngx_str_t *line)
size_t len;
len = line->len;
+
+ if (len == 0) {
+ return NGX_ERROR;
+ }
+
unit = line->data[len - 1];
switch (unit) {