fix: vsnprintf terminates with 0, string use not correct
This commit is contained in:
parent
9f8d92d690
commit
89b3236152
1 changed files with 3 additions and 3 deletions
|
@ -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<char> 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);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue