summaryrefslogtreecommitdiff
path: root/lib/url.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2018-12-23 17:38:59 +0100
committerDaniel Stenberg <daniel@haxx.se>2018-12-23 23:12:40 +0100
commitf3ce38739fa49008e36959aa8189c01ab1bad5b5 (patch)
tree7a4414a389a639af689029bc476564737820fc97 /lib/url.c
parente9ababd4f5aff042dd3b5a4f9568f22e6604d115 (diff)
downloadcurl-f3ce38739fa49008e36959aa8189c01ab1bad5b5.tar.gz
disconnect: set conn->data for protocol disconnect
Follow-up to fb445a1e18d: Set conn->data explicitly to point out the current transfer when invoking the protocol-specific disconnect function so that it can work correctly. Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12173
Diffstat (limited to 'lib/url.c')
-rw-r--r--lib/url.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/url.c b/lib/url.c
index 50719ce54..bf92016d0 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -781,6 +781,9 @@ CURLcode Curl_disconnect(struct Curl_easy *data,
Curl_http_ntlm_cleanup(conn);
#endif
+ /* the protocol specific disconnect handler needs a transfer for its
+ connection! */
+ conn->data = data;
if(conn->handler->disconnect)
/* This is set if protocol-specific cleanups should be made */
conn->handler->disconnect(conn, dead_connection);