side-stepped weird snprintf bug
authorJohn Tsiombikas <nuclear@member.fsf.org>
Thu, 29 Jun 2023 14:28:22 +0000 (17:28 +0300)
committerJohn Tsiombikas <nuclear@member.fsf.org>
Thu, 29 Jun 2023 14:28:22 +0000 (17:28 +0300)
libs/drawtext/draw.c

index 08047c1..dec6101 100644 (file)
@@ -90,24 +90,14 @@ void dtx_substring(const char *str, int start, int end)
 void dtx_printf(const char *fmt, ...)
 {
        va_list ap;
 void dtx_printf(const char *fmt, ...)
 {
        va_list ap;
-       int buf_size;
-       char *buf, tmp;
+       static char buf[1024];
 
        if(!dtx_font) {
                return;
        }
 
        va_start(ap, fmt);
 
        if(!dtx_font) {
                return;
        }
 
        va_start(ap, fmt);
-       buf_size = vsnprintf(&tmp, 0, fmt, ap);
-       va_end(ap);
-
-       if(buf_size == -1) {
-               buf_size = 512;
-       }
-
-       buf = alloca(buf_size + 1);
-       va_start(ap, fmt);
-       vsnprintf(buf, buf_size + 1, fmt, ap);
+       vsnprintf(buf, sizeof buf, fmt, ap);
        va_end(ap);
 
        dtx_string(buf);
        va_end(ap);
 
        dtx_string(buf);