http2: fix memory leaks on error-path

This commit is contained in:
Daniel Stenberg 2018-09-14 11:16:26 +02:00
parent 0d717a3106
commit 130c53b632
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2
1 changed files with 8 additions and 2 deletions

View File

@ -2091,8 +2091,11 @@ CURLcode Curl_http2_setup(struct connectdata *conn)
stream->stream_id = -1;
if(!stream->header_recvbuf)
if(!stream->header_recvbuf) {
stream->header_recvbuf = Curl_add_buffer_init();
if(!stream->header_recvbuf)
return CURLE_OUT_OF_MEMORY;
}
if((conn->handler == &Curl_handler_http2_ssl) ||
(conn->handler == &Curl_handler_http2))
@ -2104,8 +2107,11 @@ CURLcode Curl_http2_setup(struct connectdata *conn)
conn->handler = &Curl_handler_http2;
result = Curl_http2_init(conn);
if(result)
if(result) {
Curl_add_buffer_free(stream->header_recvbuf);
stream->header_recvbuf = NULL;
return result;
}
infof(conn->data, "Using HTTP2, server supports multi-use\n");
stream->upload_left = 0;