From: Even Rouault Date: Wed, 25 Jul 2018 09:22:51 +0000 (+0200) Subject: reuse_conn(): free old_conn->options X-Git-Tag: curl-7_61_1~124 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a7091ba75d820612ec260da805e9148397eddfcd;p=curl 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 --- 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);