Constantine Sapuntzakis detected and fixed a double free in builds done

with threaded resolver enabled (Windows default configuration) that would
get triggered when a curl handle is closed while doing DNS resolution.
This commit is contained in:
Yang Tse
2010-03-05 03:15:19 +00:00
parent 52f088ec1b
commit f4551a9678
3 changed files with 9 additions and 4 deletions

View File

@@ -2490,12 +2490,11 @@ static void conn_free(struct connectdata *conn)
Curl_llist_destroy(conn->done_pipe, NULL);
/* possible left-overs from the async name resolvers */
#if defined(CURLRES_ASYNCH)
Curl_safefree(conn->async.hostname);
Curl_safefree(conn->async.os_specific);
#if defined(CURLRES_THREADED)
Curl_destroy_thread_data(&conn->async);
#endif
#elif defined(CURLRES_ASYNCH)
Curl_safefree(conn->async.hostname);
Curl_safefree(conn->async.os_specific);
#endif
Curl_free_ssl_config(&conn->ssl_config);