]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Refactor overflow-unsafe comparisons
authorRichard Gibson <richard.gibson@gmail.com>
Wed, 17 Oct 2018 13:25:55 +0000 (09:25 -0400)
committerRichard Gibson <richard.gibson@gmail.com>
Wed, 17 Oct 2018 13:25:55 +0000 (09:25 -0400)
pdns/dnsdist-lua-bindings-dnsquestion.cc

index 2c7d77416959fa04ed225a84b7362aac651e2240..dbbb6cdba95ea2f0c08d4a0d8308d9618f725053 100644 (file)
@@ -73,7 +73,7 @@ void setupLuaBindingsDNSQuestion()
       char* message = reinterpret_cast<char*>(dq.dh);
       const uint16_t messageLen = getDNSPacketLength(message, dq.len);
       const uint16_t tailLen = tail.size();
-      if(messageLen + tailLen > dq.size) {
+      if(tailLen > (dq.size - messageLen)) {
         return false;
       }
 
@@ -154,7 +154,7 @@ void setupLuaBindingsDNSQuestion()
       char* message = reinterpret_cast<char*>(dq.dh);
       const uint16_t messageLen = getDNSPacketLength(message, dq.len);
       const uint16_t tailLen = tail.size();
-      if(messageLen + tailLen > dq.size) {
+      if(tailLen > (dq.size - messageLen)) {
         return false;
       }