From 2cbf996c8894684ab700bcde5ca559749c5e82c0 Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Sat, 24 Nov 2018 10:22:43 +0000 Subject: [PATCH] Check the return value of snprintf(). I know it can't overflow, but this explains to GCC that I know. --- clunk.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/clunk.c b/clunk.c index 56f6b79..b2ce67c 100644 --- a/clunk.c +++ b/clunk.c @@ -1,4 +1,5 @@ #include +#include #include #include #include @@ -78,6 +79,7 @@ static void (*outfn)(bool) = &dummy_out; static void record_tick(void) { + int printed; displayed.tm_sec += 30; while (displayed.tm_sec >= 60) { @@ -100,8 +102,10 @@ record_tick(void) * POSIX aio. Happily, it's pleasant enough in a * simple case like this. */ - snprintf(statebuf, 10, "%2d:%02d:%02d\n", displayed.tm_hour, - displayed.tm_min, displayed.tm_sec); + printed = snprintf(statebuf, 10, "%2d:%02d:%02d\n", + displayed.tm_hour, displayed.tm_min, + displayed.tm_sec); + assert(printed == 9); stateaio.aio_fildes = statefd; stateaio.aio_buf = statebuf; stateaio.aio_nbytes = 9; -- 2.30.2