Message ID | c4768a18309b3918715f96a1f5b2a9a264a5a9e4.1556650594.git.alistair.francis@wdc.com |
---|---|
State | New |
Headers | show |
Series | Fix some GCC 9 build warnings | expand |
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.francis@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; > >
On Tue, Apr 30, 2019 at 1:24 PM Laurent Vivier <laurent@vivier.eu> wrote: > > 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 ? It does seem to stop the warnings, I'll change this patch to use a g_assert(). Alistair > > 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.francis@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; > > > > >
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;
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); | ^~~~~~~~~~~~~~~ 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.francis@wdc.com> --- hw/usb/hcd-xhci.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)