From: Remi Gacogne Date: Mon, 18 May 2026 13:36:37 +0000 (+0200) Subject: dnsdist: Handle large YAML values for a backend weight X-Git-Tag: auth-5.1.0~39^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=99d88678f44aeca0bb25ec02e428d5d95e9af474;p=thirdparty%2Fpdns.git dnsdist: Handle large YAML values for a backend weight Signed-off-by: Remi Gacogne --- diff --git a/pdns/dnsdistdist/dnsdist-configuration-yaml.cc b/pdns/dnsdistdist/dnsdist-configuration-yaml.cc index 27f74c1f33..5bd884b4f8 100644 --- a/pdns/dnsdistdist/dnsdist-configuration-yaml.cc +++ b/pdns/dnsdistdist/dnsdist-configuration-yaml.cc @@ -458,12 +458,12 @@ static std::shared_ptr createBackendFromConfiguration(const Con backendConfig.d_numberOfSockets = config.sockets; backendConfig.d_qpsLimit = config.queries_per_second; backendConfig.order = config.order; - if (config.weight < 1) { + if (config.weight < 1 || config.weight > std::numeric_limits::max()) { SLOG(warnlog("Ignoring invalid weight on backend %s", std::string(config.address)), context.logger->info(Logr::Warning, "Ignoring invalid weight on backend", "backend.address", Logging::Loggable(config.address))); } else { - backendConfig.d_weight = config.weight; + backendConfig.d_weight = static_cast(config.weight); } backendConfig.d_maxInFlightQueriesPerConn = config.max_in_flight;