From c45a0947313aa11345f8dc370d614608f07cf056 Mon Sep 17 00:00:00 2001 From: Tony Butler Date: Sat, 23 Mar 2019 19:23:26 -0600 Subject: [PATCH] smashme --- src/Summary.cpp | 2 +- src/common/log/BasicLog.cpp | 5 ++++- src/common/log/ConsoleLog.cpp | 5 ++++- src/common/log/FileLog.cpp | 7 ++++--- src/common/log/SysLog.cpp | 4 +++- 5 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/Summary.cpp b/src/Summary.cpp index a98cdc7a..523ed4b7 100644 --- a/src/Summary.cpp +++ b/src/Summary.cpp @@ -40,7 +40,7 @@ static void print_cpu(xmrig::Config *config) { - Log::i()->text(GREEN_BOLD(" * ") WHITE_BOLD("%-13s") WHITE_BOLD("%s") " %s %s", + Log::i()->text(GREEN_BOLD(" * ") WHITE_BOLD("%-13s%s") " %s %s", "CPU", xmrig::Cpu::info()->brand(), xmrig::Cpu::info()->isX64() ? GREEN_BOLD("x64") : RED_BOLD("-x64"), diff --git a/src/common/log/BasicLog.cpp b/src/common/log/BasicLog.cpp index 485d14f3..89ff452e 100644 --- a/src/common/log/BasicLog.cpp +++ b/src/common/log/BasicLog.cpp @@ -93,8 +93,11 @@ void BasicLog::text(const char* fmt, va_list args) void BasicLog::print(va_list args) { + char buf[kBufferSize]; + vsnprintf(buf, sizeof(buf) - 1, m_fmt, args); + snprintf(m_fmt, sizeof(m_fmt) - 1, "%s", buf); BasicLog::stripColor(); - if (vsnprintf(m_buf, sizeof(m_buf) - 1, m_fmt, args) <= 0) { + if (snprintf(m_buf, sizeof(m_buf) - 1, "%s", m_fmt) <= 0) { return; } diff --git a/src/common/log/ConsoleLog.cpp b/src/common/log/ConsoleLog.cpp index 35672aeb..317fbe3c 100644 --- a/src/common/log/ConsoleLog.cpp +++ b/src/common/log/ConsoleLog.cpp @@ -129,8 +129,11 @@ bool ConsoleLog::isWritable() const void ConsoleLog::print(va_list args) { + char buf[kBufferSize]; + vsnprintf(buf, sizeof(buf) - 1, m_fmt, args); + snprintf(m_fmt, sizeof(m_fmt) - 1, "%s", buf); ConsoleLog::stripColor(); - m_uvBuf.len = vsnprintf(m_buf, sizeof(m_buf) - 1, m_fmt, args); + m_uvBuf.len = snprintf(m_buf, sizeof(m_buf) - 1, "%s", m_fmt); if (m_uvBuf.len <= 0) { return; } diff --git a/src/common/log/FileLog.cpp b/src/common/log/FileLog.cpp index 5807f86a..a9f1d74b 100644 --- a/src/common/log/FileLog.cpp +++ b/src/common/log/FileLog.cpp @@ -85,10 +85,11 @@ void FileLog::message(Level level, const char* fmt, va_list args) fmt, Log::endl() ); - stripColor(); - char *buf = new char[kBufferSize]; - const int size = vsnprintf(buf, kBufferSize - 1, m_fmt, args); + vsnprintf(buf, kBufferSize - 1, m_fmt, args); + snprintf(m_fmt, sizeof(m_fmt) - 1, "%s", buf); + FileLog::stripColor(); + const int size = snprintf(buf, kBufferSize - 1, "%s", m_fmt); write(buf, size); } diff --git a/src/common/log/SysLog.cpp b/src/common/log/SysLog.cpp index 479c14e9..c6205b5d 100644 --- a/src/common/log/SysLog.cpp +++ b/src/common/log/SysLog.cpp @@ -51,7 +51,9 @@ void SysLog::stripColor() void SysLog::message(Level level, const char *fmt, va_list args) { - snprintf(m_fmt, sizeof(m_fmt) - 1, "%s", fmt); + char buf[kBufferSize]; + vsnprintf(buf, sizeof(buf) - 1, m_fmt, args); + snprintf(m_fmt, sizeof(m_fmt) - 1, "%s", buf); SysLog::stripColor(); vsyslog(static_cast(level), m_fmt, args); }