From 10320184df1eb4638e253a34b1eb44ce78954094 Mon Sep 17 00:00:00 2001 From: Gabi Melman Date: Mon, 17 Mar 2025 15:46:31 +0200 Subject: [PATCH] Fixed issue #3360 (#3361) --- include/spdlog/pattern_formatter-inl.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/include/spdlog/pattern_formatter-inl.h b/include/spdlog/pattern_formatter-inl.h index b53d8051..fd408ed5 100644 --- a/include/spdlog/pattern_formatter-inl.h +++ b/include/spdlog/pattern_formatter-inl.h @@ -70,6 +70,9 @@ public: pad_it(remaining_pad_); } else if (padinfo_.truncate_) { long new_size = static_cast(dest_.size()) + remaining_pad_; + if (new_size < 0) { + new_size = 0; + } dest_.resize(static_cast(new_size)); } } @@ -264,7 +267,7 @@ public: : flag_formatter(padinfo) {} void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override { - const size_t field_size = 10; + const size_t field_size = 8; ScopedPadder p(field_size, padinfo_, dest); fmt_helper::pad2(tm_time.tm_mon + 1, dest); @@ -926,9 +929,8 @@ private: memory_buf_t cached_datetime_; #ifndef SPDLOG_NO_TLS - mdc_formatter mdc_formatter_{padding_info{}}; + mdc_formatter mdc_formatter_{padding_info {}}; #endif - }; } // namespace details