diff --git a/lib/roles/h2/http2.c b/lib/roles/h2/http2.c index 6957cea26..6c1c4d84b 100644 --- a/lib/roles/h2/http2.c +++ b/lib/roles/h2/http2.c @@ -1842,6 +1842,10 @@ lws_h2_parse_end_of_frame(struct lws *wsi) if ((uint64_t)eff_wsi->txc.tx_cr + (uint64_t)h2n->hpack_e_dep > (uint64_t)0x7fffffff) { + lwsl_warn("%s: WINDOW_UPDATE 0x%llx + 0x%llx = 0x%llx, too high\n", + __func__, (unsigned long long)eff_wsi->txc.tx_cr, + (unsigned long long)h2n->hpack_e_dep, + (unsigned long long)eff_wsi->txc.tx_cr + (unsigned long long)h2n->hpack_e_dep); if (h2n->sid) lws_h2_rst_stream(h2n->swsi, H2_ERR_FLOW_CONTROL_ERROR, diff --git a/minimal-examples/http-client/minimal-http-client/minimal-http-client.c b/minimal-examples/http-client/minimal-http-client/minimal-http-client.c index 46c949742..aba159162 100644 --- a/minimal-examples/http-client/minimal-http-client/minimal-http-client.c +++ b/minimal-examples/http-client/minimal-http-client/minimal-http-client.c @@ -277,7 +277,8 @@ int main(int argc, const char **argv) lwsl_user("LWS minimal http client [-d] [-l] [--h1]\n"); - info.options = LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT; + info.options = LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT | + LWS_SERVER_OPTION_H2_JUST_FIX_WINDOW_UPDATE_OVERFLOW; info.port = CONTEXT_PORT_NO_LISTEN; /* we do not run any server */ info.protocols = protocols; info.user = &args;