http2: move the init too for when its actually needed
... it would otherwise lead to memory leakage if we never actually do the switch.
This commit is contained in:
parent
145c4692ff
commit
4b02b84897
11
lib/http2.c
11
lib/http2.c
@ -636,10 +636,6 @@ CURLcode Curl_http2_request_upgrade(Curl_send_buffer *req,
|
|||||||
struct SingleRequest *k = &conn->data->req;
|
struct SingleRequest *k = &conn->data->req;
|
||||||
uint8_t *binsettings = conn->proto.httpc.binsettings;
|
uint8_t *binsettings = conn->proto.httpc.binsettings;
|
||||||
|
|
||||||
result = Curl_http2_init(conn);
|
|
||||||
if(result)
|
|
||||||
return result;
|
|
||||||
|
|
||||||
/* As long as we have a fixed set of settings, we don't have to dynamically
|
/* As long as we have a fixed set of settings, we don't have to dynamically
|
||||||
* figure out the base64 strings since it'll always be the same. However,
|
* figure out the base64 strings since it'll always be the same. However,
|
||||||
* the settings will likely not be fixed every time in the future.
|
* the settings will likely not be fixed every time in the future.
|
||||||
@ -974,12 +970,17 @@ static ssize_t http2_send(struct connectdata *conn, int sockindex,
|
|||||||
|
|
||||||
CURLcode Curl_http2_setup(struct connectdata *conn)
|
CURLcode Curl_http2_setup(struct connectdata *conn)
|
||||||
{
|
{
|
||||||
|
CURLcode result;
|
||||||
struct http_conn *httpc = &conn->proto.httpc;
|
struct http_conn *httpc = &conn->proto.httpc;
|
||||||
if(conn->handler->flags & PROTOPT_SSL)
|
if(conn->handler->flags & PROTOPT_SSL)
|
||||||
conn->handler = &Curl_handler_http2_ssl;
|
conn->handler = &Curl_handler_http2_ssl;
|
||||||
else
|
else
|
||||||
conn->handler = &Curl_handler_http2;
|
conn->handler = &Curl_handler_http2;
|
||||||
|
|
||||||
|
result = Curl_http2_init(conn);
|
||||||
|
if(result)
|
||||||
|
return result;
|
||||||
|
|
||||||
infof(conn->data, "Using HTTP2\n");
|
infof(conn->data, "Using HTTP2\n");
|
||||||
httpc->bodystarted = FALSE;
|
httpc->bodystarted = FALSE;
|
||||||
httpc->error_code = NGHTTP2_NO_ERROR;
|
httpc->error_code = NGHTTP2_NO_ERROR;
|
||||||
@ -996,7 +997,7 @@ CURLcode Curl_http2_setup(struct connectdata *conn)
|
|||||||
|
|
||||||
conn->httpversion = 20;
|
conn->httpversion = 20;
|
||||||
|
|
||||||
return 0;
|
return CURLE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
CURLcode Curl_http2_switched(struct connectdata *conn,
|
CURLcode Curl_http2_switched(struct connectdata *conn,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user