From 8d50d814dbf90c383f9b71ce77cf2f0addcfb399 Mon Sep 17 00:00:00 2001 From: Victor Zverovich Date: Wed, 30 Nov 2022 11:04:51 -0800 Subject: [PATCH] Fix a chrono formatting issue found by fuzzing --- include/fmt/chrono.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/fmt/chrono.h b/include/fmt/chrono.h index 03fac9a7..6fd21afb 100644 --- a/include/fmt/chrono.h +++ b/include/fmt/chrono.h @@ -1061,7 +1061,7 @@ void write_fractional_seconds(OutputIt& out, Duration d, int precision = -1) { leading_zeroes = std::min(leading_zeroes, precision); out = std::fill_n(out, leading_zeroes, '0'); int remaining = precision - leading_zeroes; - if (remaining < num_digits) { + if (remaining != 0 && remaining < num_digits) { n /= to_unsigned(detail::pow10(to_unsigned(num_digits - remaining))); out = format_decimal(out, n, remaining).end; return;