]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Fix narrowing conversion on 32-bit systems by using uint64_t instead of size_t 15833/head
authorDarwin4053 <eanandarao@aziro.com>
Mon, 14 Jul 2025 12:06:42 +0000 (17:36 +0530)
committerDarwin4053 <eanandarao@aziro.com>
Tue, 15 Jul 2025 13:42:02 +0000 (19:12 +0530)
pdns/dnsdistdist/dnsdist-lua-configuration-items.cc
pdns/dnsdistdist/dnsdist-lua.cc
pdns/dnsdistdist/dnsdist-lua.hh
pdns/dnsdistdist/test-dnsdistrules_cc.cc

index e482d4767aa014870955cda8d7a13e8be51f7227..dd6d63c194e72c73b9761637deba7eba6fcf9361 100644 (file)
@@ -38,7 +38,7 @@ struct BooleanConfigurationItems
 struct UnsignedIntegerConfigurationItems
 {
   const std::function<void(dnsdist::configuration::RuntimeConfiguration& config, uint64_t value)> mutator;
-  const size_t maximumValue{std::numeric_limits<uint64_t>::max()};
+  const uint64_t maximumValue{std::numeric_limits<uint64_t>::max()};
 };
 
 struct StringConfigurationItems
@@ -53,7 +53,7 @@ struct BooleanImmutableConfigurationItems
 struct UnsignedIntegerImmutableConfigurationItems
 {
   const std::function<void(dnsdist::configuration::ImmutableConfiguration& config, uint64_t value)> mutator;
-  const size_t maximumValue{std::numeric_limits<uint64_t>::max()};
+  const uint64_t maximumValue{std::numeric_limits<uint64_t>::max()};
 };
 
 struct DoubleImmutableConfigurationItems
index 3dc3592ef67b34a6630ed62d0c82116e976fc522..469747f66e6fc17d6603ebe51bebb492d59e2232 100644 (file)
@@ -253,7 +253,7 @@ static void parseTLSConfig(TLSConfig& config, const std::string& context, boost:
 
 #endif // defined(HAVE_DNS_OVER_TLS) || defined(HAVE_DNS_OVER_HTTPS)
 
-void checkParameterBound(const std::string& parameter, uint64_t value, size_t max)
+void checkParameterBound(const std::string& parameter, uint64_t value, uint64_t max)
 {
   if (value > max) {
     throw std::runtime_error("The value (" + std::to_string(value) + ") passed to " + parameter + " is too large, the maximum is " + std::to_string(max));
index fc70190d72b60a20a425319a7b7b6b6cda80763a..73f81329c585f0b4e93b369a9303e4db2ce89d6b 100644 (file)
@@ -42,7 +42,7 @@ using luadnsrule_t = boost::variant<string, LuaArray<std::string>, std::shared_p
 std::shared_ptr<DNSRule> makeRule(const luadnsrule_t& var, const std::string& calledFrom);
 
 void parseRuleParams(boost::optional<luaruleparams_t>& params, boost::uuids::uuid& uuid, std::string& name, uint64_t& creationOrder);
-void checkParameterBound(const std::string& parameter, uint64_t value, size_t max = std::numeric_limits<uint16_t>::max());
+void checkParameterBound(const std::string& parameter, uint64_t value, uint64_t max = std::numeric_limits<uint16_t>::max());
 
 void setupLua(LuaContext& luaCtx, bool client, bool configCheck, const std::string& config);
 void setupLuaActions(LuaContext& luaCtx);
index b73074feb7ec4139e844b00cce80487652573e1e..327c13e46132d020b7b8b6357569c8b05a2c22ad 100644 (file)
@@ -12,7 +12,7 @@
 #include "dnsdist-rules.hh"
 #include "dnsdist-rules-factory.hh"
 
-void checkParameterBound(const std::string& parameter, uint64_t value, size_t max)
+void checkParameterBound(const std::string& parameter, uint64_t value, uint64_t max)
 {
   if (value > max) {
     throw std::runtime_error("The value passed to " + parameter + " is too large, the maximum is " + std::to_string(max));