From: Richard Gibson Date: Wed, 17 Oct 2018 13:25:55 +0000 (-0400) Subject: dnsdist: Refactor overflow-unsafe comparisons X-Git-Tag: rec-4.2.0-alpha1~16^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bf11f6f06c687a010a0c9fc489291cc86f88122f;p=thirdparty%2Fpdns.git dnsdist: Refactor overflow-unsafe comparisons --- diff --git a/pdns/dnsdist-lua-bindings-dnsquestion.cc b/pdns/dnsdist-lua-bindings-dnsquestion.cc index 2c7d774169..dbbb6cdba9 100644 --- a/pdns/dnsdist-lua-bindings-dnsquestion.cc +++ b/pdns/dnsdist-lua-bindings-dnsquestion.cc @@ -73,7 +73,7 @@ void setupLuaBindingsDNSQuestion() char* message = reinterpret_cast(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(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; }