aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/easy.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/easy.c b/lib/easy.c
index a1289d45b..c04f01e2a 100644
--- a/lib/easy.c
+++ b/lib/easy.c
@@ -374,6 +374,14 @@ CURL *curl_easy_duphandle(CURL *incurl)
/* start with clearing the entire new struct */
memset(outcurl, 0, sizeof(struct SessionHandle));
+#ifdef USE_ARES
+ /* If we use ares, we need to setup a new ares channel for the new handle */
+ if(ARES_SUCCESS != ares_init(&outcurl->state.areschannel)) {
+ free(outcurl);
+ return NULL;
+ }
+#endif
+
/*
* We setup a few buffers we need. We should probably make them
* get setup on-demand in the code, as that would probably decrease