[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [tor/master] Avoid assertion failure on unexepcted address family in DNS reply.
commit 11f1b7d9dfa8434c629339220ed47f87a957344b
Author: Nick Mathewson <nickm@xxxxxxxxxxxxxx>
Date: Fri Jul 26 15:33:46 2013 +0200
Avoid assertion failure on unexepcted address family in DNS reply.
Fixes bug 9337; bugfix on 0.2.4.7-alpha.
---
changes/bug9337 | 4 ++++
src/or/dns.c | 8 ++++----
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/changes/bug9337 b/changes/bug9337
new file mode 100644
index 0000000..ce99bc8
--- /dev/null
+++ b/changes/bug9337
@@ -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.
+
diff --git a/src/or/dns.c b/src/or/dns.c
index edcf92e..f2b7eec 100644
--- a/src/or/dns.c
+++ b/src/or/dns.c
@@ -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));
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
- Prev by Author:
[tor-commits] [tor/master] Merge branch 'bug9337' into maint-0.2.4
- Next by Author:
[tor-commits] [tor/master] Allow {, k, kilo, m, mega, g, giga, t, tera}bit{, s} in torrc
- Previous by thread:
[tor-commits] [tor/master] Merge branch 'bug9337' into maint-0.2.4
- Next by thread:
[tor-commits] [tor/master] Allow {, k, kilo, m, mega, g, giga, t, tera}bit{, s} in torrc
- Index(es):