From 81377cace6a047308008d36740042231d6c7d122 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 20 Jul 2018 23:24:47 +0200 Subject: vtls: set conn->data when closing TLS Follow-up to 1b76c38904f0. The VTLS backends that close down the TLS layer for a connection still needs a Curl_easy handle for the session_id cache etc. Fixes #2764 Closes #2771 --- lib/url.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lib/url.c') diff --git a/lib/url.c b/lib/url.c index 48d697b3c..5f520e91e 100644 --- a/lib/url.c +++ b/lib/url.c @@ -788,6 +788,9 @@ CURLcode Curl_disconnect(struct Curl_easy *data, free_fixed_hostname(&conn->http_proxy.host); free_fixed_hostname(&conn->socks_proxy.host); + DEBUGASSERT(conn->data == data); + /* this assumes that the pointer is still there after the connection was + detected from the cache */ Curl_ssl_close(conn, FIRSTSOCKET); conn_free(conn); @@ -969,6 +972,7 @@ static bool extract_if_dead(struct connectdata *conn, if(dead) { infof(data, "Connection %ld seems to be dead!\n", conn->connection_id); Curl_conncache_remove_conn(conn, FALSE); + conn->data = NULL; /* detach */ return TRUE; } } -- cgit v1.2.3