aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES5
-rw-r--r--RELEASE-NOTES1
-rw-r--r--lib/url.c7
3 files changed, 9 insertions, 4 deletions
diff --git a/CHANGES b/CHANGES
index e40441152..8147d00fd 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,11 @@
Changelog
+Yang Tse (5 Mar 2010)
+- 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.
+
Daniel Stenberg (2 Mar 2010)
- [Daniel Johnson] I've been trying to build libcurl with clang on Darwin and
ran into some issues with the GSSAPI tests in configure.ac. The tests first
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index b96171cc5..d59cba5ae 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -28,6 +28,7 @@ This release includes the following bugfixes:
o CURLOPT_CERTINFO memory leak
o sub-second timeouts improvements
o configure fixes for GSSAPI
+ o threaded resolver double free when closing curl handle
This release includes the following known bugs:
diff --git a/lib/url.c b/lib/url.c
index 887c06a84..fe9c322bf 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -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);