From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44554) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d5sbo-0003Tf-EF for qemu-devel@nongnu.org; Wed, 03 May 2017 07:38:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d5sbj-0003tb-Iz for qemu-devel@nongnu.org; Wed, 03 May 2017 07:38:16 -0400 From: Markus Armbruster References: <20170503104441.1349-1-pbonzini@redhat.com> Date: Wed, 03 May 2017 13:38:07 +0200 In-Reply-To: <20170503104441.1349-1-pbonzini@redhat.com> (Paolo Bonzini's message of "Wed, 3 May 2017 12:44:41 +0200") Message-ID: <874lx21880.fsf@dusky.pond.sub.org> MIME-Version: 1.0 Content-Type: text/plain Subject: Re: [Qemu-devel] [PATCH] jazz_led: fix bad snprintf List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: qemu-devel@nongnu.org, qemu-trivial@nongnu.org, leon.alrae@imgtec.com Paolo Bonzini writes: > Detected by GCC 7's -Wformat-truncation. snprintf writes at most > 2 bytes here including the terminating NUL, so the result is > truncated. In addition, the newline at the end is pointless. > Fix the buffer size and the format string. > --- > hw/display/jazz_led.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/hw/display/jazz_led.c b/hw/display/jazz_led.c > index b72fdb1717..3c97d56434 100644 > --- a/hw/display/jazz_led.c > +++ b/hw/display/jazz_led.c > @@ -227,13 +227,13 @@ static void jazz_led_invalidate_display(void *opaque) > static void jazz_led_text_update(void *opaque, console_ch_t *chardata) > { > LedState *s = opaque; > - char buf[2]; > + char buf[3]; > > dpy_text_cursor(s->con, -1, -1); > qemu_console_resize(s->con, 2, 1); > > /* TODO: draw the segments */ > - snprintf(buf, 2, "%02hhx\n", s->segments); > + snprintf(buf, 3, "%02hhx", s->segments); > console_write_ch(chardata++, ATTR2CHTYPE(buf[0], QEMU_COLOR_BLUE, > QEMU_COLOR_BLACK, 1)); > console_write_ch(chardata++, ATTR2CHTYPE(buf[1], QEMU_COLOR_BLUE, Since we're only every interested in the first two characters, the truncation is totally harmless. Thus, your patch cleans doesn't really "fix bad snprintf", it cleans up an unclean one. Consider rewording the commit message accordingly. Regardless, Reviewed-by: Markus Armbruster