Commit 888899244c6dff8f209d52c5c379cc9d162f96a2

Eddy Jansson 2022-04-29T16:30:30

log: Allow log messages of any length. Log messages are no longer truncated to SDL_MAX_LOG_MESSAGE.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
diff --git a/src/SDL_log.c b/src/SDL_log.c
index 5b7ad67..a4c4d50 100644
--- a/src/SDL_log.c
+++ b/src/SDL_log.c
@@ -320,11 +320,12 @@ SDL_LogMessageV(int category, SDL_LogPriority priority, const char *fmt, va_list
 
     /* If message truncated, allocate and re-render */
     if (len >= sizeof(stack_buf)) {
-        message = (char *)SDL_malloc(SDL_MAX_LOG_MESSAGE);
+        /* Allocate exactly what we need, including the zero-terminator */
+        message = (char *)SDL_malloc(len + 1);
         if (!message)
             return;
         va_copy(aq, ap);
-        len = SDL_vsnprintf(message, SDL_MAX_LOG_MESSAGE, fmt, aq);
+        len = SDL_vsnprintf(message, len + 1, fmt, aq);
         va_end(aq);
     } else {
         message = stack_buf;