On Jul 29, 2018, at 5:48 AM, Denis Ovsienko <de...@ovsienko.info> wrote:
> ./util-print.c: In function ‘ts_format.isra.0’: > ./util-print.c:265:27: warning: ‘%06u’ directive output may be truncated > writing between 6 and 10 bytes into a region of size between 5 and 12 > [-Wformat-truncation=] > format = "%02d:%02d:%02d.%06u"; > ^~~~ > ./util-print.c:265:11: note: using the range [0, 4294967295] for directive > argument > format = "%02d:%02d:%02d.%06u"; > ^~~~~~~~~~~~~~~~~~~~~ > In file included from /usr/include/stdio.h:862:0, > from ./util-print.c:50: > /usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: > ‘__builtin___snprintf_chk’ output between 16 and 27 bytes into a destination > of size 21 > return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > __bos (__s), __fmt, __va_arg_pack ()); > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Not formatting to a buffer, but directly printing with ND_PRINT(), should squelch this annoyance; yeah, if the time stamp is in seconds/microseconds, and the microseconds value is >= 10^6, something might not be formatted correctly, but that's life. Done in 230e0b85778df66f9cec62d13f0025c78cc0c9da. I guess we *could* do range checking and print some warning that it's bogus; I'll leave that as an exercise to the reader. (Don't forget to do it for nanosecond-resolution time stamps, too, as 2^32-1 and even 2^31-1 is > 10^9.) _______________________________________________ tcpdump-workers mailing list tcpdump-workers@lists.tcpdump.org https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers