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) CVE: CVE-2025-6140 Upstream-Status: Backport [https://github.com/gabime/spdlog/commit/10320184df1eb4638e253a34b1eb44ce78954094] Signed-off-by: Peter Marko --- include/spdlog/pattern_formatter-inl.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 @@ -65,6 +65,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)); } } @@ -259,7 +262,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);