Curl_http2_setup: don't change connection data on repeat invokes

Regression from 3cb8a74867 (releasde in 7.79.0). That change moved
transfer oriented inits to before the check but also erroneously moved a
few connection oriented ones, which causes problems.

Reported-by: Evangelos Foutras
Fixes #7730
Closes #7731
This commit is contained in:
Daniel Stenberg 2021-09-16 08:50:54 +02:00
parent 9e4298faae
commit 901804ef95
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2

View File

@ -2221,12 +2221,6 @@ CURLcode Curl_http2_setup(struct Curl_easy *data,
stream->mem = data->state.buffer;
stream->len = data->set.buffer_size;
httpc->inbuflen = 0;
httpc->nread_inbuf = 0;
httpc->pause_stream_id = 0;
httpc->drain_total = 0;
multi_connchanged(data->multi);
/* below this point only connection related inits are done, which only needs
to be done once per connection */
@ -2252,6 +2246,12 @@ CURLcode Curl_http2_setup(struct Curl_easy *data,
conn->httpversion = 20;
conn->bundle->multiuse = BUNDLE_MULTIPLEX;
httpc->inbuflen = 0;
httpc->nread_inbuf = 0;
httpc->pause_stream_id = 0;
httpc->drain_total = 0;
infof(data, "Connection state changed (HTTP/2 confirmed)");
return CURLE_OK;