Le 30/04/2019 à 22:09, Alistair Francis a écrit : > Fix this build warning with GCC 9 on Fedora 30: > hw/usb/hcd-xhci.c:3339:66: error: ‘%d’ directive output may be truncated > writing between 1 and 10 bytes into a region of size 5 > [-Werror=format-truncation=] > 3339 | snprintf(port->name, sizeof(port->name), "usb2 port #%d", > i+1); > | ^~ > hw/usb/hcd-xhci.c:3339:54: note: directive argument in the range [1, > 2147483647] > 3339 | snprintf(port->name, sizeof(port->name), "usb2 port #%d", > i+1);
"i" cannot be greater than 15. perhaps an "assert(i <= MAX(MAXPORTS_2, MAXPORTS_3))" can fix the warning ? Thanks, Laurent > | ^~~~~~~~~~~~~~~ > In file included from /usr/include/stdio.h:867, > from /home/alistair/qemu/include/qemu/osdep.h:99, > from hw/usb/hcd-xhci.c:21: > /usr/include/bits/stdio2.h:67:10: note: ‘__builtin___snprintf_chk’ output > between 13 and 22 bytes into a destination of size 16 > 67 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 68 | __bos (__s), __fmt, __va_arg_pack ()); > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > Signed-off-by: Alistair Francis <alistair.fran...@wdc.com> > --- > hw/usb/hcd-xhci.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/usb/hcd-xhci.h b/hw/usb/hcd-xhci.h > index 240caa4e51..9e4988abb6 100644 > --- a/hw/usb/hcd-xhci.h > +++ b/hw/usb/hcd-xhci.h > @@ -133,7 +133,7 @@ typedef struct XHCIPort { > uint32_t portnr; > USBPort *uport; > uint32_t speedmask; > - char name[16]; > + char name[24]; > MemoryRegion mem; > } XHCIPort; > >