From: Daniel Stenberg Date: Mon, 17 May 2021 07:05:39 +0000 (+0200) Subject: http2: make sure pause is done on HTTP X-Git-Tag: curl-7_77_0~39 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=904b27d18da1f7310f38b5117a0916d8b96d130c;p=thirdparty%2Fcurl.git http2: make sure pause is done on HTTP Since the function is called for any protocol, we can't assume that the HTTP struct is there without first making sure it is HTTP. Reported-by: Denis Goleshchikhin Fixes #7079 Closes #7080 --- diff --git a/lib/http2.c b/lib/http2.c index ac04d348c4..bc604ce155 100644 --- a/lib/http2.c +++ b/lib/http2.c @@ -2353,7 +2353,8 @@ CURLcode Curl_http2_stream_pause(struct Curl_easy *data, bool pause) DEBUGASSERT(data); DEBUGASSERT(data->conn); /* if it isn't HTTP/2, we're done */ - if(!data->conn->proto.httpc.h2) + if(!(data->conn->handler->protocol & PROTO_FAMILY_HTTP) || + !data->conn->proto.httpc.h2) return CURLE_OK; #ifdef NGHTTP2_HAS_SET_LOCAL_WINDOW_SIZE else {