multi_done: wait for name resolve to finish if still ongoing

... as we must clean up memory.
This commit is contained in:
Daniel Stenberg 2017-10-07 17:54:41 +02:00
parent 5b54df06d2
commit f3e03f6c0a
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2
1 changed files with 6 additions and 0 deletions

View File

@ -537,6 +537,12 @@ static CURLcode multi_done(struct connectdata **connp,
/* Stop if multi_done() has already been called */
return CURLE_OK;
if(data->mstate == CURLM_STATE_WAITRESOLVE) {
/* done while still waiting for the resolve to complete */
struct Curl_dns_entry *throw_away;
(void)Curl_resolver_wait_resolv(conn, &throw_away);
}
Curl_getoff_all_pipelines(data, conn);
/* Cleanup possible redirect junk */