From: Remi Gacogne Date: Tue, 6 Dec 2022 16:43:12 +0000 (+0100) Subject: dnsdist: Fix a warning about long to double conversion X-Git-Tag: dnsdist-1.8.0-rc1~194^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F12283%2Fhead;p=thirdparty%2Fpdns.git dnsdist: Fix a warning about long to double conversion ``` dnsdist-backend.cc:601:61: warning: implicit conversion from 'long' to 'double' changes value from 9223372036854775807 to 9223372036854775808 [-Wimplicit-const-int-float-conversion] if (backOffCoeffTmp != HUGE_VAL && backOffCoeffTmp <= std::numeric_limits::max()) { ~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` --- diff --git a/pdns/dnsdistdist/dnsdist-backend.cc b/pdns/dnsdistdist/dnsdist-backend.cc index 562cb8abe8..701bef7752 100644 --- a/pdns/dnsdistdist/dnsdist-backend.cc +++ b/pdns/dnsdistdist/dnsdist-backend.cc @@ -598,7 +598,7 @@ void DownstreamState::updateNextLazyHealthCheck(LazyHealthCheckStats& stats, boo time_t backOff = d_config.d_lazyHealthCheckMaxBackOff; double backOffCoeffTmp = std::pow(2.0, failedTests); - if (backOffCoeffTmp != HUGE_VAL && backOffCoeffTmp <= std::numeric_limits::max()) { + if (backOffCoeffTmp != HUGE_VAL && static_cast(backOffCoeffTmp) <= static_cast(std::numeric_limits::max())) { time_t backOffCoeff = static_cast(backOffCoeffTmp); if ((std::numeric_limits::max() / d_config.d_lazyHealthCheckFailedInterval) >= backOffCoeff) { backOff = d_config.d_lazyHealthCheckFailedInterval * backOffCoeff;