]> granicus.if.org Git - pdns/commitdiff
fuzzing: Skip payloads larger than 65k
authorRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 27 Nov 2018 16:16:33 +0000 (17:16 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 4 Dec 2018 14:42:52 +0000 (15:42 +0100)
pdns/fuzz_dnsdistcache.cc
pdns/fuzz_moadnsparser.cc
pdns/fuzz_packetcache.cc

index d9c8efa717135aad32981c4bc9593a6e6140d99c..8b2ed7d1fefbc438221bd146256b260d94a8da4d 100644 (file)
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
 
+  if (size > std::numeric_limits<uint16_t>::max()) {
+    return 0;
+  }
+
   /* dnsdist's version */
   try {
     uint16_t qtype;
index cf9660ec7d83557bee51a3b1bf6d714757d29f52..ea5fe25e9f7491f54c8872a013c27585b5837f26 100644 (file)
@@ -39,6 +39,10 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
     initialized = true;
   }
 
+  if (size > std::numeric_limits<uint16_t>::max()) {
+    return 0;
+  }
+
   try {
     MOADNSParser moaQuery(true, reinterpret_cast<const char*>(data), size);
   }
index b8d9f22616ef46bcffc1260f61262042a3886154..faea0169205cf99f4225f1a58f9200740550b1de 100644 (file)
@@ -27,6 +27,10 @@ StatBag S;
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
 
+  if (size > std::numeric_limits<uint16_t>::max()) {
+    return 0;
+  }
+
   std::string input(reinterpret_cast<const char*>(data), size);
 
   /* auth's version */