Don't assume there's a sessionhandle around when a connection is disconnected,
authorDaniel Stenberg <daniel@haxx.se>
Thu, 25 Oct 2007 09:41:35 +0000 (09:41 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Thu, 25 Oct 2007 09:41:35 +0000 (09:41 +0000)
so do the data->reqdata.current_conn assignment when we know there is an easy
handle existing! Fixes the valgrind report on test 509.

lib/url.c

index 9d6be53..c87eeaa 100644 (file)
--- a/lib/url.c
+++ b/lib/url.c
@@ -2058,9 +2058,6 @@ static void conn_free(struct connectdata *conn)
   if(CURL_SOCKET_BAD != conn->sock[FIRSTSOCKET])
     sclose(conn->sock[FIRSTSOCKET]);
 
-  if (conn->data->reqdata.current_conn == conn) {
-    conn->data->reqdata.current_conn = NULL;
-  }
   Curl_safefree(conn->user);
   Curl_safefree(conn->passwd);
   Curl_safefree(conn->proxyuser);
@@ -2170,6 +2167,7 @@ CURLcode Curl_disconnect(struct connectdata *conn)
   }
 
   conn_free(conn);
+  data->reqdata.current_conn = NULL;
 
   return CURLE_OK;
 }