]> git.pld-linux.org Git - packages/mtr.git/blame - mtr-v6-ns-fix.patch
- rel 2; fix segfault when mixed v4/v6 resolvers in use
[packages/mtr.git] / mtr-v6-ns-fix.patch
CommitLineData
be422acf
AM
1commit cece39e9fad8d53a1e41cae57348f5ab41ec3ba4
2Author: mutantmonkey <mutantmonkey@mutantmonkey.in>
3Date: Sun Apr 21 15:56:59 2013 -0400
4
5 Fix segfault with mixed IPv4/IPv6 nameservers
6
7 Fixes bug #1154432
8
9diff --git a/dns.c b/dns.c
10index 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;
31commit 59c16297a4008ee4b59ae49854d09f49f0713055
32Author: Michal Sekletar <sekletar.m@gmail.com>
33Date: 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
39diff --git a/dns.c b/dns.c
40index 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),
This page took 0.104046 seconds and 4 git commands to generate.