diff options
author | Daniel Stenberg <daniel@haxx.se> | 2018-04-12 13:09:04 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2018-04-12 16:21:24 +0200 |
commit | 2b126cd7083ddf1308ebc447cabd1983b16a99fa (patch) | |
tree | 4318634139c6a12f1deee620db909c9255be7e8b | |
parent | 462d8378eace6fb74b0f34b87fc9babf55d23bea (diff) | |
download | curl-2b126cd7083ddf1308ebc447cabd1983b16a99fa.tar.gz |
duphandle: make sure CURLOPT_RESOLVE is duplicated fine too
Verified in test 1502 now
Fixes #2485
Closes #2486
Reported-by: Ernst Sjöstrand
-rw-r--r-- | lib/easy.c | 3 | ||||
-rw-r--r-- | tests/libtest/lib1502.c | 12 |
2 files changed, 14 insertions, 1 deletions
diff --git a/lib/easy.c b/lib/easy.c index c99758617..6b914353d 100644 --- a/lib/easy.c +++ b/lib/easy.c @@ -892,6 +892,9 @@ static CURLcode dupset(struct Curl_easy *dst, struct Curl_easy *src) /* Duplicate mime data. */ result = Curl_mime_duppart(&dst->set.mimepost, &src->set.mimepost); + if(src->set.resolve) + dst->change.resolve = dst->set.resolve; + return result; } diff --git a/tests/libtest/lib1502.c b/tests/libtest/lib1502.c index 6f253c7ec..5b75e2f2a 100644 --- a/tests/libtest/lib1502.c +++ b/tests/libtest/lib1502.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al. + * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -40,6 +40,7 @@ int test(char *URL) { CURL *easy = NULL; + CURL *dup; CURLM *multi = NULL; int still_running; int res = 0; @@ -72,6 +73,15 @@ int test(char *URL) easy_setopt(easy, CURLOPT_HEADER, 1L); easy_setopt(easy, CURLOPT_RESOLVE, dns_cache_list); + dup = curl_easy_duphandle(easy); + if(dup) { + curl_easy_cleanup(easy); + easy = dup; + } + else { + return CURLE_OUT_OF_MEMORY; + } + multi_init(multi); multi_add_handle(multi, easy); |