]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
wipe-cache-typed should check if a qtype arg is present and valid 10911/head
authorOtto <otto.moerbeek@open-xchange.com>
Wed, 27 Oct 2021 07:38:10 +0000 (09:38 +0200)
committerOtto <otto.moerbeek@open-xchange.com>
Wed, 27 Oct 2021 11:44:36 +0000 (13:44 +0200)
(cherry picked from commit a721f7b21a75cefaa189bf84b14979facde7d3ab)

pdns/rec_channel_rec.cc

index 44913e44fbfe3d5226cbdc0ca55670f114aba837..da4216aa0ca68beb84aaba3c6f84e7b48cafd481 100644 (file)
@@ -1855,7 +1855,13 @@ RecursorControlChannel::Answer RecursorControlParser::getAnswer(int s, const str
     return {0, doWipeCache(begin, end, 0xffff)};
   }
   if (cmd == "wipe-cache-typed") {
+    if (begin == end) {
+      return {1, "Need a qtype\n"};
+    }
     uint16_t qtype = QType::chartocode(begin->c_str());
+    if (qtype == 0) {
+      return {1, "Unknown qtype " + *begin + "\n"};
+    }
     ++begin;
     return {0, doWipeCache(begin, end, qtype)};
   }