From: Kamil Dudka Date: Fri, 30 Apr 2021 16:18:02 +0000 (+0200) Subject: http2: fix a resource leak in push_promise() X-Git-Tag: curl-7_77_0~109 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3a6058cb976981ec1db870f9657c73c9a1162822;p=thirdparty%2Fcurl.git http2: fix a resource leak in push_promise() ... detected by Coverity: Error: RESOURCE_LEAK (CWE-772): lib/http2.c:532: alloc_fn: Storage is returned from allocation function "duphandle". lib/http2.c:532: var_assign: Assigning: "newhandle" = storage returned from "duphandle(data)". lib/http2.c:552: noescape: Resource "newhandle" is not freed or pointed-to in "set_transfer_url". lib/http2.c:555: leaked_storage: Variable "newhandle" going out of scope leaks the storage it points to. Closes #6986 --- diff --git a/lib/http2.c b/lib/http2.c index ad7ae1d1b8..d59571ed23 100644 --- a/lib/http2.c +++ b/lib/http2.c @@ -581,6 +581,7 @@ static int push_promise(struct Curl_easy *data, rv = set_transfer_url(newhandle, &heads); if(rv) { + (void)Curl_close(&newhandle); rv = CURL_PUSH_DENY; goto fail; }