From d520fc8dfa2e0a47c2e9ef639d2249e7bee66a4a Mon Sep 17 00:00:00 2001 From: HendrikRauh <114620133+HendrikRauh@users.noreply.github.com> Date: Tue, 27 May 2025 18:24:43 +0200 Subject: [PATCH] refactor writeLogEntry: dynamically allocate buffer for variable-length log messages --- src/log.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/log.cpp b/src/log.cpp index bd47596..54fc564 100644 --- a/src/log.cpp +++ b/src/log.cpp @@ -13,11 +13,14 @@ void setupLogger() void writeLogEntry(const log_level level, const log_tag tag, const char *message, ...) { - char buffer[256]; va_list args; va_start(args, message); - vsnprintf(buffer, sizeof(buffer), message, args); + int size = vsnprintf(nullptr, 0, message, args); va_end(args); + char *buffer = new char[size + 1]; + va_start(args, message); + vsnprintf(buffer, size + 1, message, args); Serial.printf("[%d] [%d] \t %s\n", level, tag, buffer); -} \ No newline at end of file + delete[] buffer; +}