freeaddrinfo is called too early.

(cherry picked from commit c1870d0e44)
This commit is contained in:
Mark Andrews 2016-12-15 09:38:12 +11:00
parent 8806de3986
commit be7aa3f5a9

View file

@ -111,10 +111,10 @@ addserver(const char *server, isc_sockaddrlist_t *list,
}
INSIST(res->ai_addrlen <= sizeof(sockaddr->type));
memmove(&sockaddr->type, res->ai_addr, res->ai_addrlen);
freeaddrinfo(res);
sockaddr->length = (unsigned int)res->ai_addrlen;
ISC_LINK_INIT(sockaddr, link);
ISC_LIST_APPEND(*list, sockaddr, link);
freeaddrinfo(res);
return (ISC_TRUE);
}