We are making sure that our computation will not overflow the maximum
value of a `time_t`, and we know that this maximum value is positive,
so we can use a `size_t` to do the comparison.
const uint16_t failedTests = currentCheckFailures;
size_t backOffCoeff = std::pow(2U, failedTests);
time_t backOff = d_config.d_lazyHealthCheckMaxBackOff;
- if ((std::numeric_limits<time_t>::max() / d_config.d_lazyHealthCheckFailedInterval) >= backOffCoeff) {
+ if ((static_cast<size_t>(std::numeric_limits<time_t>::max()) / d_config.d_lazyHealthCheckFailedInterval) >= backOffCoeff) {
backOff = d_config.d_lazyHealthCheckFailedInterval * backOffCoeff;
if (backOff > d_config.d_lazyHealthCheckMaxBackOff || (std::numeric_limits<time_t>::max() - now) <= backOff) {
backOff = d_config.d_lazyHealthCheckMaxBackOff;