From d104c1f7e22b9745b6028ff8fbc3bc88137ba1c2 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Fri, 8 Apr 2011 08:49:28 -0400 Subject: fix broken dns response parsing code that made most ipv6 lookups fail --- src/network/__dns.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/network') diff --git a/src/network/__dns.c b/src/network/__dns.c index cdd64299..b53ad4ab 100644 --- a/src/network/__dns.c +++ b/src/network/__dns.c @@ -257,10 +257,12 @@ int __dns_count_addrs(const unsigned char *r, int cnt) int found=0, res, i; static const int p[2][2] = { { 4, RR_A }, { 16, RR_AAAA } }; - while (cnt--) for (i=0; i<2; i++) { - res = __dns_get_rr(0, 0, p[i][0], -1, r, p[i][1], 0); - if (res < 0) return res; - found += res; + while (cnt--) { + for (i=0; i<2; i++) { + res = __dns_get_rr(0, 0, p[i][0], -1, r, p[i][1], 0); + if (res < 0) return res; + found += res; + } r += 512; } return found; -- cgit v1.2.1