]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Fail AAAA DNS queries if inet_ntop() fails
authorAttila Molnar <attilamolnar@hush.com>
Wed, 22 Oct 2014 17:27:32 +0000 (19:27 +0200)
committerAttila Molnar <attilamolnar@hush.com>
Wed, 22 Oct 2014 17:27:32 +0000 (19:27 +0200)
src/dns.cpp

index 977f4bad065846115ee4d45b99208a9153d1881e..75e5731fe93edac1951162665719424370b9b79f 100644 (file)
@@ -677,7 +677,13 @@ DNSResult DNS::GetResult()
 
                        case DNS_QUERY_AAAA:
                        {
-                               inet_ntop(AF_INET6, data.first, formatted, sizeof(formatted));
+                               if (!inet_ntop(AF_INET6, data.first, formatted, sizeof(formatted)))
+                               {
+                                       std::string ro = req->orig;
+                                       delete req;
+                                       return DNSResult(this_id | ERROR_MASK, "inet_ntop() failed", 0, ro);
+                               }
+
                                resultstr = formatted;
 
                                /* Special case. Sending ::1 around between servers