aboutsummaryrefslogtreecommitdiff
path: root/lib/url.c
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2018-07-25 11:22:51 +0200
committerDaniel Stenberg <daniel@haxx.se>2018-07-26 16:20:15 +0200
commita7091ba75d820612ec260da805e9148397eddfcd (patch)
tree61346f423f5e2139cc41460348977f48b7777d17 /lib/url.c
parentd0d48b42763ec8649196fbf7648ad9de0127dc27 (diff)
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
Diffstat (limited to 'lib/url.c')
-rw-r--r--lib/url.c1
1 files changed, 1 insertions, 0 deletions
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);