1 commit cece39e9fad8d53a1e41cae57348f5ab41ec3ba4
2 Author: mutantmonkey <mutantmonkey@mutantmonkey.in>
3 Date: Sun Apr 21 15:56:59 2013 -0400
5 Fix segfault with mixed IPv4/IPv6 nameservers
9 diff --git a/dns.c b/dns.c
10 index 683a4aa..8ea48ba 100644
13 @@ -934,6 +934,8 @@ void dorequest(char *s,int type,word id)
14 hp->id = id; /* htons() deliberately left out (redundant) */
16 for (i = 0;i < NSCOUNT6;i++) {
17 + if (!NSSOCKADDR6(i))
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)
25 for (i = 0;i < NSCOUNT6;i++) {
26 + if (!NSSOCKADDR6(i))
28 if ( addrcmp( (void *) &(NSSOCKADDR6(i)->sin6_addr),
29 (void *) &(from6->sin6_addr), AF_INET6 ) == 0 )
31 commit 59c16297a4008ee4b59ae49854d09f49f0713055
32 Author: Michal Sekletar <sekletar.m@gmail.com>
33 Date: Thu Jun 6 16:13:52 2013 +0200
35 dns: Fix segfault with mixed ipv4/ipv6 nameservers
37 Follow-up on bug #1154432.
39 diff --git a/dns.c b/dns.c
40 index 8ea48ba..371934f 100644
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))
50 if ( addrcmp( (void *) &(NSSOCKADDR6(i)->sin6_addr),
51 (void *) &(from6->sin6_addr), (int) AF_INET6 ) == 0 ||
52 addrcmp( (void *) &(NSSOCKADDR6(i)->sin6_addr),