Blame mtr-mixed-ipv4-ipv6-nameservers.patch

Michal Sekletar 401c0e
diff -up mtr-0.84/dns.c.mixed mtr-0.84/dns.c
Michal Sekletar 401c0e
--- mtr-0.84/dns.c.mixed	2013-06-06 18:56:19.360247890 +0200
Michal Sekletar 401c0e
+++ mtr-0.84/dns.c	2013-06-06 18:58:09.804233105 +0200
Michal Sekletar 401c0e
@@ -938,6 +938,8 @@ void dorequest(char *s,int type,word id)
Michal Sekletar 401c0e
   hp->id = id;	/* htons() deliberately left out (redundant) */
Michal Sekletar 401c0e
 #ifdef ENABLE_IPV6
Michal Sekletar 401c0e
   for (i = 0;i < NSCOUNT6;i++) {
Michal Sekletar 401c0e
+    if (!NSSOCKADDR6(i))
Michal Sekletar 401c0e
+      continue;
Michal Sekletar 401c0e
     if (NSSOCKADDR6(i)->sin6_family == AF_INET6)
Michal Sekletar 401c0e
       (void)sendto(resfd6,buf,r,0,(struct sockaddr *) NSSOCKADDR6(i),
Michal Sekletar 401c0e
 		   sizeof(struct sockaddr_in6));
Michal Sekletar 401c0e
@@ -1336,6 +1338,8 @@ void dns_ack6(void)
Michal Sekletar 401c0e
     if ( addrcmp( (void *) &(from6->sin6_addr), (void *) &localhost6,
Michal Sekletar 401c0e
                   (int) AF_INET6 ) == 0 ) {
Michal Sekletar 401c0e
       for (i = 0;i < NSCOUNT6;i++) {
Michal Sekletar 401c0e
+        if (!NSSOCKADDR6(i))
Michal Sekletar 401c0e
+          continue;
Michal Sekletar 401c0e
 	if ( addrcmp( (void *) &(NSSOCKADDR6(i)->sin6_addr),
Michal Sekletar 401c0e
 		      (void *) &(from6->sin6_addr), (int) AF_INET6 ) == 0 ||
Michal Sekletar 401c0e
 	     addrcmp( (void *) &(NSSOCKADDR6(i)->sin6_addr),
Michal Sekletar 401c0e
@@ -1344,6 +1348,8 @@ void dns_ack6(void)
Michal Sekletar 401c0e
       }
Michal Sekletar 401c0e
     } else
Michal Sekletar 401c0e
       for (i = 0;i < NSCOUNT6;i++) {
Michal Sekletar 401c0e
+        if (!NSSOCKADDR6(i))
Michal Sekletar 401c0e
+          continue;
Michal Sekletar 401c0e
 	if ( addrcmp( (void *) &(NSSOCKADDR6(i)->sin6_addr),
Michal Sekletar 401c0e
 		      (void *) &(from6->sin6_addr), AF_INET6 ) == 0 )
Michal Sekletar 401c0e
 	  break;