From: Daniel Stenberg Date: Mon, 30 Aug 2021 10:54:24 +0000 (+0200) Subject: Revert "http2: skip immediate parsing of payload following protocol switch" X-Git-Tag: curl-7_79_0~53 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c364f5f6fa72d25e6462cf7e0bb62d8c530e4266;p=thirdparty%2Fcurl.git Revert "http2: skip immediate parsing of payload following protocol switch" This reverts commit 455a63c66f188598275e87d32de2c4e8e26b80cb. Reported-by: Tk Xiong Fixes #7633 Closes #7648 --- diff --git a/lib/http2.c b/lib/http2.c index 3949567996..14dcf41cec 100644 --- a/lib/http2.c +++ b/lib/http2.c @@ -2336,15 +2336,8 @@ CURLcode Curl_http2_switched(struct Curl_easy *data, DEBUGASSERT(httpc->nread_inbuf == 0); - /* Good enough to call it an end once the remaining payload is copied to the - * connection buffer. - * Some servers (e.g. nghttpx v1.43.0) may fulfill stream 1 immediately - * following the protocol switch other than waiting for the client-side - * connection preface. If h2_process_pending_input is invoked here to parse - * the remaining payload, stream 1 would be marked as closed too early and - * thus ignored in http2_recv (following 252790c53). - * The logic in lib/http.c and lib/transfer.c guarantees a following - * http2_recv would be invoked very soon. */ + if(-1 == h2_process_pending_input(data, httpc, &result)) + return CURLE_HTTP2; return CURLE_OK; }