From: Valentin Bartenev Date: Tue, 20 Oct 2015 18:28:38 +0000 (+0300) Subject: HTTP/2: improved error handling while parsing integers. X-Git-Url: http://git.kaiwu.me/sitemap.xml?a=commitdiff_plain;h=c0eb2f0759726f47bd06f5c8f46739f43ce55cac;p=nginx.git HTTP/2: improved error handling while parsing integers. The case when an integer is out of frame bounds should be checked first as a more accurate error. --- diff --git a/src/http/v2/ngx_http_v2.c b/src/http/v2/ngx_http_v2.c index 5852c9943..91f7bc9e1 100644 --- a/src/http/v2/ngx_http_v2.c +++ b/src/http/v2/ngx_http_v2.c @@ -2417,14 +2417,14 @@ ngx_http_v2_parse_int(ngx_http_v2_connection_t *h2c, u_char **pos, u_char *end, } } - if (end == start + NGX_HTTP_V2_INT_OCTETS) { - return NGX_DECLINED; - } - if ((size_t) (end - start) >= h2c->state.length) { return NGX_ERROR; } + if (end == start + NGX_HTTP_V2_INT_OCTETS) { + return NGX_DECLINED; + } + return NGX_AGAIN; }