]>
Commit | Line | Data |
---|---|---|
be422acf AM |
1 | commit cece39e9fad8d53a1e41cae57348f5ab41ec3ba4 |
2 | Author: mutantmonkey <mutantmonkey@mutantmonkey.in> | |
3 | Date: Sun Apr 21 15:56:59 2013 -0400 | |
4 | ||
5 | Fix segfault with mixed IPv4/IPv6 nameservers | |
6 | ||
7 | Fixes bug #1154432 | |
8 | ||
9 | diff --git a/dns.c b/dns.c | |
10 | index 683a4aa..8ea48ba 100644 | |
11 | --- a/dns.c | |
12 | +++ b/dns.c | |
13 | @@ -934,6 +934,8 @@ void dorequest(char *s,int type,word id) | |
14 | hp->id = id; /* htons() deliberately left out (redundant) */ | |
15 | #ifdef ENABLE_IPV6 | |
16 | for (i = 0;i < NSCOUNT6;i++) { | |
17 | + if (!NSSOCKADDR6(i)) | |
18 | + continue; | |
19 | if (NSSOCKADDR6(i)->sin6_family == AF_INET6) | |
20 | (void)sendto(resfd6,buf,r,0,(struct sockaddr *) NSSOCKADDR6(i), | |
21 | sizeof(struct sockaddr_in6)); | |
22 | @@ -1340,6 +1342,8 @@ void dns_ack6(void) | |
23 | } | |
24 | } else | |
25 | for (i = 0;i < NSCOUNT6;i++) { | |
26 | + if (!NSSOCKADDR6(i)) | |
27 | + continue; | |
28 | if ( addrcmp( (void *) &(NSSOCKADDR6(i)->sin6_addr), | |
29 | (void *) &(from6->sin6_addr), AF_INET6 ) == 0 ) | |
30 | break; | |
31 | commit 59c16297a4008ee4b59ae49854d09f49f0713055 | |
32 | Author: Michal Sekletar <sekletar.m@gmail.com> | |
33 | Date: Thu Jun 6 16:13:52 2013 +0200 | |
34 | ||
35 | dns: Fix segfault with mixed ipv4/ipv6 nameservers | |
36 | ||
37 | Follow-up on bug #1154432. | |
38 | ||
39 | diff --git a/dns.c b/dns.c | |
40 | index 8ea48ba..371934f 100644 | |
41 | --- a/dns.c | |
42 | +++ b/dns.c | |
43 | @@ -1334,6 +1334,9 @@ void dns_ack6(void) | |
44 | if ( addrcmp( (void *) &(from6->sin6_addr), (void *) &localhost6, | |
45 | (int) AF_INET6 ) == 0 ) { | |
46 | for (i = 0;i < NSCOUNT6;i++) { | |
47 | + if (!NSSOCKADDR6(i)) | |
48 | + continue; | |
49 | + | |
50 | if ( addrcmp( (void *) &(NSSOCKADDR6(i)->sin6_addr), | |
51 | (void *) &(from6->sin6_addr), (int) AF_INET6 ) == 0 || | |
52 | addrcmp( (void *) &(NSSOCKADDR6(i)->sin6_addr), |