From 89b3236152d97e0361939091b467d4530226e9fc Mon Sep 17 00:00:00 2001 From: "Y. Velkov" Date: Wed, 15 May 2024 13:29:50 +0300 Subject: [PATCH] fix: vsnprintf terminates with 0, string use not correct --- ggml-cuda.cu | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ggml-cuda.cu b/ggml-cuda.cu index c8e51f0aa..8e206f6ff 100644 --- a/ggml-cuda.cu +++ b/ggml-cuda.cu @@ -83,11 +83,11 @@ static void ggml_cuda_log(enum ggml_log_level level, const char * format, ...) { if (len < 128) { ggml_cuda_log_callback(level, buffer, ggml_cuda_log_user_data); } else { - std::string buffer2(len, '\0'); + std::vector buffer2(len + 1); // vsnprintf adds a null terminator va_end(args); va_start(args, format); - vsnprintf(&buffer2[0], len + 1, format, args); - ggml_cuda_log_callback(level, buffer2.c_str(), ggml_cuda_log_user_data); + vsnprintf(&buffer2[0], buffer2.size(), format, args); + ggml_cuda_log_callback(level, buffer2.data(), ggml_cuda_log_user_data); } va_end(args); }