mirror of
https://github.com/warmcat/libwebsockets.git
synced 2025-03-16 00:00:07 +01:00
h2: adapt oversize POST test now we handle blocks in parser not byte-at-a-time
This commit is contained in:
parent
b94091130b
commit
4cee34c0d0
1 changed files with 6 additions and 2 deletions
|
@ -1478,7 +1478,7 @@ lws_h2_parser(struct lws *wsi, unsigned char *in, lws_filepos_t inlen,
|
||||||
if (lws_hdr_total_length(h2n->swsi,
|
if (lws_hdr_total_length(h2n->swsi,
|
||||||
WSI_TOKEN_HTTP_CONTENT_LENGTH) &&
|
WSI_TOKEN_HTTP_CONTENT_LENGTH) &&
|
||||||
h2n->swsi->http.rx_content_length &&
|
h2n->swsi->http.rx_content_length &&
|
||||||
h2n->swsi->http.rx_content_remain == 1 && /* last */
|
h2n->swsi->http.rx_content_remain < inlen + 1 && /* last */
|
||||||
h2n->inside < h2n->length) { /* unread data in frame */
|
h2n->inside < h2n->length) { /* unread data in frame */
|
||||||
lws_h2_goaway(wsi, H2_ERR_PROTOCOL_ERROR,
|
lws_h2_goaway(wsi, H2_ERR_PROTOCOL_ERROR,
|
||||||
"More rx than content_length told");
|
"More rx than content_length told");
|
||||||
|
@ -1488,7 +1488,11 @@ lws_h2_parser(struct lws *wsi, unsigned char *in, lws_filepos_t inlen,
|
||||||
h2n->swsi->outer_will_close = 1;
|
h2n->swsi->outer_will_close = 1;
|
||||||
n = lws_read(h2n->swsi, in - 1, inlen + 1);
|
n = lws_read(h2n->swsi, in - 1, inlen + 1);
|
||||||
h2n->swsi->outer_will_close = 0;
|
h2n->swsi->outer_will_close = 0;
|
||||||
if (n < 0)
|
/*
|
||||||
|
* can return 0 in POST body with content len
|
||||||
|
* exhausted somehow.
|
||||||
|
*/
|
||||||
|
if (n <= 0)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
inlen -= n - 1;
|
inlen -= n - 1;
|
||||||
|
|
Loading…
Add table
Reference in a new issue