From: Tatsuhiro Tsujikawa Date: Mon, 6 Jul 2015 13:16:27 +0000 (+0900) Subject: http2: Fix memory leak in push header array X-Git-Tag: curl-7_44_0~108 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=845b011614b8ad97dd67e0d9307e972b010f68f4;p=thirdparty%2Fcurl.git http2: Fix memory leak in push header array --- diff --git a/lib/http.c b/lib/http.c index f64a565469..b9e8047716 100644 --- a/lib/http.c +++ b/lib/http.c @@ -176,6 +176,9 @@ static CURLcode http_disconnect(struct connectdata *conn, bool dead_connection) if(http) { Curl_add_buffer_free(http->header_recvbuf); http->header_recvbuf = NULL; /* clear the pointer */ + for(; http->push_headers_used > 0; --http->push_headers_used) { + free(http->push_headers[http->push_headers_used - 1]); + } free(http->push_headers); http->push_headers = NULL; } @@ -1494,6 +1497,9 @@ CURLcode Curl_http_done(struct connectdata *conn, DEBUGF(infof(data, "free header_recvbuf!!\n")); Curl_add_buffer_free(http->header_recvbuf); http->header_recvbuf = NULL; /* clear the pointer */ + for(; http->push_headers_used > 0; --http->push_headers_used) { + free(http->push_headers[http->push_headers_used - 1]); + } free(http->push_headers); http->push_headers = NULL; }