X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=libust%2Fserialize.c;h=8f393ed074d08ad98836db24e39ae729cd0f0122;hb=920bdf719a175cc0e542e2f001e7d01f230412c1;hp=a9c6f69b79dd4e97b1d3e66169bd780a9aef44f7;hpb=8c36d1ee4e2c77783f6edfdd49f2d812afdd3f67;p=ust.git diff --git a/libust/serialize.c b/libust/serialize.c index a9c6f69..8f393ed 100644 --- a/libust/serialize.c +++ b/libust/serialize.c @@ -41,6 +41,7 @@ #include "tracer.h" //#include "list.h" #include "usterr.h" +#include "ust_snprintf.h" enum ltt_type { LTT_TYPE_SIGNED_INT, @@ -647,6 +648,7 @@ notrace void ltt_vtrace(const struct marker *mdata, void *probe_data, largest_align = 1; /* must be non-zero for ltt_align */ data_size = ltt_get_data_size(&closure, serialize_private, &largest_align, fmt, &args_copy); + largest_align = min_t(int, largest_align, sizeof(void *)); va_end(args_copy); /* Iterate on each trace */ @@ -807,7 +809,7 @@ int serialize_to_text(char *outbuf, int bufsize, const char *fmt, va_list ap) outbuf = &false_buf; bufsize = 1; } - result = vsnprintf(outbuf, bufsize, new_fmt, ap); + result = ust_safe_vsnprintf(outbuf, bufsize, new_fmt, ap); return result; }