]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
rec-4.4: do not send overly long NOD lookups 9705/head
authorPeter van Dijk <peter.van.dijk@powerdns.com>
Wed, 11 Nov 2020 10:20:41 +0000 (11:20 +0100)
committerPeter van Dijk <peter.van.dijk@powerdns.com>
Wed, 11 Nov 2020 10:20:41 +0000 (11:20 +0100)
pdns/pdns_recursor.cc

index c4f5a8a4602b531e2f0606b56f67ff8157012579..ed1be7ff9d8ad64b681556eb525d1c2e314cc6c8 100644 (file)
@@ -1132,7 +1132,13 @@ static void sendNODLookup(const DNSName& dname)
     // Send a DNS A query to <domain>.g_nodLookupDomain
     static const QType qt(QType::A);
     static const uint16_t qc(QClass::IN);
-    DNSName qname = dname + g_nodLookupDomain;
+    DNSName qname;
+    try {
+      qname = dname + g_nodLookupDomain;
+    }
+    catch(const std::range_error &e) {
+      return;
+    }
     vector<DNSRecord> dummy;
     directResolve(qname, qt, qc, dummy);
   }