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
Родитель 5b54df06d2
Коммит f3e03f6c0a
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 5CC908FDB71E12C2
1 изменённых файлов: 6 добавлений и 0 удалений

Просмотреть файл

@ -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 */