aboutsummaryrefslogtreecommitdiff
path: root/lib/easy.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2005-01-10 10:07:07 +0000
committerDaniel Stenberg <daniel@haxx.se>2005-01-10 10:07:07 +0000
commit21bb852750d39a51d20e29652d29b0be5fdbef38 (patch)
tree5b38e412a90180dabacaaec4d17428171001de77 /lib/easy.c
parent83bab78bdaeecc7fd5cae3c035d5239b0d38468f (diff)
Pavel Orehov reported memory problems with the multi interface in bug report
#1098843. In short, a shared DNS cache was setup for a multi handle and when the shared cache was deleted before the individual easy handles, the latter cleanups caused read/writes to already freed memory.
Diffstat (limited to 'lib/easy.c')
-rw-r--r--lib/easy.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/easy.c b/lib/easy.c
index 0b3774823..9310b843a 100644
--- a/lib/easy.c
+++ b/lib/easy.c
@@ -82,6 +82,7 @@
#include "share.h"
#include "memory.h"
#include "progress.h"
+#include "easy.h"
#define _MPRINTF_REPLACE /* use our functions only */
#include <curl/mprintf.h>
@@ -404,6 +405,15 @@ void curl_easy_cleanup(CURL *curl)
}
/*
+ * Store a pointed to the multi handle within the easy handle's data struct.
+ */
+void Curl_easy_addmulti(struct SessionHandle *data,
+ void *multi)
+{
+ data->multi = multi;
+}
+
+/*
* curl_easy_getinfo() is an external interface that allows an app to retrieve
* information from a performed transfer and similar.
*/