mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 13:13:44 +01:00
Avoid assertion failure on unexepcted address family in DNS reply.
Fixes bug 9337; bugfix on 0.2.4.7-alpha.
This commit is contained in:
parent
1d2e8020b7
commit
11f1b7d9df
4
changes/bug9337
Normal file
4
changes/bug9337
Normal file
@ -0,0 +1,4 @@
|
||||
o Major bugfixes (DNS):
|
||||
- Avoid an assertion failure when processing DNS replies without the
|
||||
answer types we expected. Fixes bug 9337; bugfix on 0.2.4.7-alpha.
|
||||
|
@ -437,8 +437,8 @@ cached_resolve_add_answer(cached_resolve_t *resolve,
|
||||
if (resolve->res_status_ipv4 != RES_STATUS_INFLIGHT)
|
||||
return;
|
||||
|
||||
if (dns_result == DNS_ERR_NONE && answer_addr) {
|
||||
tor_assert(tor_addr_family(answer_addr) == AF_INET);
|
||||
if (dns_result == DNS_ERR_NONE && answer_addr &&
|
||||
tor_addr_family(answer_addr) == AF_INET) {
|
||||
resolve->result_ipv4.addr_ipv4 = tor_addr_to_ipv4h(answer_addr);
|
||||
resolve->res_status_ipv4 = RES_STATUS_DONE_OK;
|
||||
} else {
|
||||
@ -450,8 +450,8 @@ cached_resolve_add_answer(cached_resolve_t *resolve,
|
||||
if (resolve->res_status_ipv6 != RES_STATUS_INFLIGHT)
|
||||
return;
|
||||
|
||||
if (dns_result == DNS_ERR_NONE && answer_addr) {
|
||||
tor_assert(tor_addr_family(answer_addr) == AF_INET6);
|
||||
if (dns_result == DNS_ERR_NONE && answer_addr &&
|
||||
tor_addr_family(answer_addr) == AF_INET6) {
|
||||
memcpy(&resolve->result_ipv6.addr_ipv6,
|
||||
tor_addr_to_in6(answer_addr),
|
||||
sizeof(struct in6_addr));
|
||||
|
Loading…
Reference in New Issue
Block a user