Commit c93bca489dc84a58d8b6fa524b84a4722c02f714

Ryan C. Gordon 2017-02-14T02:49:08

stdlib: Fixed crash on SDL_snprintf("%s", NULL). Like other C runtimes, it should probably produce the string "(null)". This bug probably only affected Windows, as most platforms use their standard C runtime's snprintf().

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
diff --git a/src/stdlib/SDL_string.c b/src/stdlib/SDL_string.c
index d4712fa..bc9d021 100644
--- a/src/stdlib/SDL_string.c
+++ b/src/stdlib/SDL_string.c
@@ -1313,6 +1313,10 @@ SDL_PrintString(char *text, size_t maxlen, SDL_FormatInfo *info, const char *str
     size_t length = 0;
     size_t slen;
 
+    if (string == NULL) {
+        string = "(null)";
+    }
+
     if (info && info->width && (size_t)info->width > SDL_strlen(string)) {
         char fill = info->pad_zeroes ? '0' : ' ';
         size_t width = info->width - SDL_strlen(string);