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 d84a356d4b
commit b8e7abc50e

View File

@@ -107,10 +107,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);
}