X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=snprintf%2Fsnprintf.c;h=68b45776346159b8ce9f9e7e9a8f0f9fba3728ee;hb=75026e9f596aa057bd3499a7be43a7fc8aa0b783;hp=bbc66a0743982a6bde5a925a689dbbaa4a7a441e;hpb=a2adb105d815cfbcf9bf8f870f2f72f79a319138;p=lttng-ust.git diff --git a/snprintf/snprintf.c b/snprintf/snprintf.c index bbc66a07..68b45776 100644 --- a/snprintf/snprintf.c +++ b/snprintf/snprintf.c @@ -32,16 +32,19 @@ */ #include +#include #include #include #include #include "local.h" #include "ust_snprintf.h" +#define DUMMY_LEN 1 + int ust_safe_vsnprintf(char *str, size_t n, const char *fmt, va_list ap) { int ret; - char dummy; + char dummy[DUMMY_LEN]; LTTNG_UST_LFILE f; struct __lttng_ust_sfileext fext; @@ -50,8 +53,8 @@ int ust_safe_vsnprintf(char *str, size_t n, const char *fmt, va_list ap) n = INT_MAX; /* Stdio internals do not deal correctly with zero length buffer */ if (n == 0) { - str = &dummy; - n = 1; + str = dummy; + n = DUMMY_LEN; } _FILEEXT_SETUP(&f, &fext); f._file = -1;