]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
http2: handle DONE called for the paused stream
authorDaniel Stenberg <daniel@haxx.se>
Fri, 1 Apr 2022 11:22:58 +0000 (13:22 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 1 Apr 2022 11:22:58 +0000 (13:22 +0200)
As it could otherwise stall all streams on the connection

Reported-by: Evangelos Foutras
Fixes #8626
Closes #8664

lib/http2.c

index 82a9939301b5e9b47bf0603a8a03eedc5d08cb4b..34daaf17c594c4d89a1b607c1cfad8bee9bbbef8 100644 (file)
@@ -1240,11 +1240,10 @@ void Curl_http2_done(struct Curl_easy *data, bool premature)
     if(!nghttp2_submit_rst_stream(httpc->h2, NGHTTP2_FLAG_NONE,
                                   http->stream_id, NGHTTP2_STREAM_CLOSED))
       (void)nghttp2_session_send(httpc->h2);
-
-    if(http->stream_id == httpc->pause_stream_id) {
-      H2BUGF(infof(data, "stopped the pause stream!"));
-      httpc->pause_stream_id = 0;
-    }
+  }
+  if(http->stream_id == httpc->pause_stream_id) {
+    H2BUGF(infof(data, "DONE the pause stream!"));
+    httpc->pause_stream_id = 0;
   }
 
   if(data->state.drain)