* 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-