diff --git a/init/init.c++ b/init/init.c++ index d30f5f3f..6f15398f 100644 --- a/init/init.c++ +++ b/init/init.c++ @@ -62,9 +62,10 @@ char* read_single_line(FILE* fp) return ret; } +__attribute__((format(printf, 1, 2))) char* print_string(const char* format, ...) { - char* ret = NULL; + char* ret; va_list ap; va_start(ap, format); int status = vasprintf(&ret, format, ap); diff --git a/tix/util.h b/tix/util.h index e9f0551f..b3f1fb70 100644 --- a/tix/util.h +++ b/tix/util.h @@ -369,6 +369,7 @@ bool dictionary_append_file_path(string_array_t* sa, const char* path) return true; } +__attribute__((format(printf, 1, 2))) char* print_string(const char* format, ...) { va_list ap; diff --git a/trianglix/trianglix.cpp b/trianglix/trianglix.cpp index 9a3a16e6..349de8a3 100644 --- a/trianglix/trianglix.cpp +++ b/trianglix/trianglix.cpp @@ -60,12 +60,14 @@ bool use_runes = false; bool configured_use_runes = false; uint8_t font[FONT_CHARSIZE * FONT_NUMCHARS]; +__attribute__((format(printf, 1, 2))) char* print_string(const char* format, ...) { - char* ret = NULL; + char* ret; va_list ap; va_start(ap, format); - vasprintf(&ret, format, ap); + if ( vasprintf(&ret, format, ap) < 0 ) + ret = NULL; va_end(ap); return ret; }