mirror of
https://github.com/curl/curl.git
synced 2026-08-25 07:23:31 +03:00
c-ares: fix cancelled resolves
When built IPv6-enabled, we could do Curl_done() with one of the two
resolves having returned already, so when ares_cancel() is called the
resolve callback ends up doing funny things (sometimes resulting in a
segfault) since it would try to actually store the previous resolve even
though we're shutting down the resolve.
This bug was introduced in commit 8ab137b2bc so it hasn't been
included in any public release.
Bug: http://curl.haxx.se/bug/view.cgi?id=3145445
Reported by: Pedro Larroy
This commit is contained in:
parent
9f64bbd6d8
commit
b6a3e2be8e
3 changed files with 25 additions and 5 deletions
|
|
@ -5210,10 +5210,6 @@ CURLcode Curl_done(struct connectdata **connp,
|
|||
data->state.tempwrite = NULL;
|
||||
}
|
||||
|
||||
/* for ares-using, make sure all possible outstanding requests are properly
|
||||
cancelled before we proceed */
|
||||
ares_cancel(data->state.areschannel);
|
||||
|
||||
/* if data->set.reuse_forbid is TRUE, it means the libcurl client has
|
||||
forced us to close this no matter what we think.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue