QUIC: added missing checks for limits in stream frames parsing.

This commit is contained in:
Vladimir Homutov 2021-04-19 09:46:37 +03:00
parent db4c8fe45f
commit f184bc0a0a

View File

@ -1003,6 +1003,10 @@ ngx_quic_parse_frame(ngx_quic_header_t *pkt, u_char *start, u_char *end,
goto error;
}
if (f->u.streams_blocked.limit > 0x1000000000000000) {
goto error;
}
f->u.streams_blocked.bidi =
(f->type == NGX_QUIC_FT_STREAMS_BLOCKED) ? 1 : 0;
break;
@ -1015,6 +1019,10 @@ ngx_quic_parse_frame(ngx_quic_header_t *pkt, u_char *start, u_char *end,
goto error;
}
if (f->u.max_streams.limit > 0x1000000000000000) {
goto error;
}
f->u.max_streams.bidi = (f->type == NGX_QUIC_FT_MAX_STREAMS) ? 1 : 0;
break;