diff options
author | Maxim Dounin <mdounin@mdounin.ru> | 2017-02-17 17:01:27 +0300 |
---|---|---|
committer | Maxim Dounin <mdounin@mdounin.ru> | 2017-02-17 17:01:27 +0300 |
commit | 6183ca9ea8b76e3da42d6d866936e3d55702ee9d (patch) | |
tree | ca1861678dda9afc6abbf1d3a57a44144e1f3549 /src/core/ngx_parse.c | |
parent | ff16c6f99c6cc0959d1632fb4030730ba27657ef (diff) | |
download | nginx-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.c | 10 |
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) { |