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.
This commit is contained in:
Valentin Bartenev 2015-10-20 21:28:38 +03:00
parent c830cf28ae
commit c0eb2f0759

View File

@ -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;
}