From a7091ba75d820612ec260da805e9148397eddfcd Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Wed, 25 Jul 2018 11:22:51 +0200 Subject: reuse_conn(): free old_conn->options This fixes a memory leak when CURLOPT_LOGIN_OPTIONS is used, together with connection reuse. I found this with oss-fuzz on GDAL and curl master: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9582 I couldn't reproduce with the oss-fuzz original test case, but looking at curl source code pointed to this well reproducable leak. Closes #2790 --- lib/url.c | 1 + 1 file changed, 1 insertion(+) (limited to 'lib/url.c') diff --git a/lib/url.c b/lib/url.c index 5f520e91e..04f46b45f 100644 --- a/lib/url.c +++ b/lib/url.c @@ -3971,6 +3971,7 @@ static void reuse_conn(struct connectdata *old_conn, Curl_safefree(old_conn->user); Curl_safefree(old_conn->passwd); + Curl_safefree(old_conn->options); Curl_safefree(old_conn->http_proxy.user); Curl_safefree(old_conn->socks_proxy.user); Curl_safefree(old_conn->http_proxy.passwd); -- cgit v1.2.3