From ca6b9f959a1f5a3f3cdecb0f9331aac8ec73370c Mon Sep 17 00:00:00 2001 From: factosea <285808407@qq.com> Date: Thu, 25 Jan 2024 17:02:08 +0800 Subject: [PATCH] fix: printSlowLog heap over flow --- source/util/src/tlog.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/util/src/tlog.c b/source/util/src/tlog.c index bd6c37a7b5..505ce61eca 100644 --- a/source/util/src/tlog.c +++ b/source/util/src/tlog.c @@ -573,6 +573,9 @@ void taosPrintSlowLog(const char *format, ...) { len += vsnprintf(buffer + len, LOG_MAX_LINE_DUMP_BUFFER_SIZE - 2 - len, format, argpointer); va_end(argpointer); + if (len < 0 || len > LOG_MAX_LINE_DUMP_BUFFER_SIZE - 2) { + len = LOG_MAX_LINE_DUMP_BUFFER_SIZE - 2; + } buffer[len++] = '\n'; buffer[len] = 0;