* protocols/http2_protocol.c
(http2_handle_stream_window_update,
http2_handle_connection_window_update):
Handle a few more cases of overflowing the connection window.
git-svn-id: https://svn.apache.org/repos/asf/serf/trunk@1718001 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/protocols/http2_protocol.c b/protocols/http2_protocol.c
index 4c3923d..28ae463 100644
--- a/protocols/http2_protocol.c
+++ b/protocols/http2_protocol.c
@@ -634,7 +634,7 @@
stream->lr_window += value;
- if (stream->lr_window > HTTP2_WINDOW_MAX_ALLOWED)
+ if (stream->lr_window > HTTP2_WINDOW_MAX_ALLOWED || stream->lr_window < 0)
{
/* A sender MUST NOT allow a flow-control window to exceed 2^31-1
octets. If a sender receives a WINDOW_UPDATE that causes a flow-
@@ -693,7 +693,7 @@
was0 = (h2->lr_window == 0);
h2->lr_window += value;
- if (h2->lr_window > HTTP2_WINDOW_MAX_ALLOWED)
+ if (h2->lr_window > HTTP2_WINDOW_MAX_ALLOWED || h2->lr_window < 0)
{
/* A sender MUST NOT allow a flow-control window to exceed 2^31-1
octets. If a sender receives a WINDOW_UPDATE that causes a flow-