Message ID | 20190503004021.13814-1-alistair.francis@wdc.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v3] hw/usb/hcd-xhci: Fix GCC 9 build warning | expand |
On 03/05/2019 02:42, Alistair Francis wrote: > 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> > Reviewed-by: Laurent Vivier <laurent@vivier.eu> > Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> > Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > This is the onl patch left if my original series "Fix some GCC 9 build > warnings" that hasn't either been accepeted into a maintainers tree or > fixed by someone else. > > hw/usb/hcd-xhci.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c > index ec28bee319..a15b103b65 100644 > --- a/hw/usb/hcd-xhci.c > +++ b/hw/usb/hcd-xhci.c > @@ -3321,6 +3321,8 @@ static void usb_xhci_init(XHCIState *xhci) > > usb_bus_new(&xhci->bus, sizeof(xhci->bus), &xhci_bus_ops, dev); > > + g_assert(usbports <= MAX(MAXPORTS_2, MAXPORTS_3)); > + > for (i = 0; i < usbports; i++) { > speedmask = 0; > if (i < xhci->numports_2) { > Reviewed-by: Laurent Vivier <laurent@vivier.eu>
On Fri, May 03, 2019 at 12:42:04AM +0000, Alistair Francis wrote: > 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> > Reviewed-by: Laurent Vivier <laurent@vivier.eu> > Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> > Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > This is the onl patch left if my original series "Fix some GCC 9 build > warnings" that hasn't either been accepeted into a maintainers tree or > fixed by someone else. > > hw/usb/hcd-xhci.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c > index ec28bee319..a15b103b65 100644 > --- a/hw/usb/hcd-xhci.c > +++ b/hw/usb/hcd-xhci.c > @@ -3321,6 +3321,8 @@ static void usb_xhci_init(XHCIState *xhci) > > usb_bus_new(&xhci->bus, sizeof(xhci->bus), &xhci_bus_ops, dev); > > + g_assert(usbports <= MAX(MAXPORTS_2, MAXPORTS_3)); > + > for (i = 0; i < usbports; i++) { > speedmask = 0; > if (i < xhci->numports_2) { Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> but it looks like Gerd already sent a pull request with my patch for this from a few weeks back https://lists.gnu.org/archive/html/qemu-devel/2019-05/msg00543.html Regards, Daniel
On Fri, May 3, 2019 at 2:24 AM Daniel P. Berrangé <berrange@redhat.com> wrote: > > On Fri, May 03, 2019 at 12:42:04AM +0000, Alistair Francis wrote: > > 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> > > Reviewed-by: Laurent Vivier <laurent@vivier.eu> > > Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> > > Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > > --- > > This is the onl patch left if my original series "Fix some GCC 9 build > > warnings" that hasn't either been accepeted into a maintainers tree or > > fixed by someone else. > > > > hw/usb/hcd-xhci.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c > > index ec28bee319..a15b103b65 100644 > > --- a/hw/usb/hcd-xhci.c > > +++ b/hw/usb/hcd-xhci.c > > @@ -3321,6 +3321,8 @@ static void usb_xhci_init(XHCIState *xhci) > > > > usb_bus_new(&xhci->bus, sizeof(xhci->bus), &xhci_bus_ops, dev); > > > > + g_assert(usbports <= MAX(MAXPORTS_2, MAXPORTS_3)); > > + > > for (i = 0; i < usbports; i++) { > > speedmask = 0; > > if (i < xhci->numports_2) { > > Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> > > but it looks like Gerd already sent a pull request with my patch for > this from a few weeks back > > https://lists.gnu.org/archive/html/qemu-devel/2019-05/msg00543.html No worries, I'm just glad it's fixed. Alistair > > Regards, > Daniel > -- > |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| > |: https://libvirt.org -o- https://fstop138.berrange.com :| > |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c index ec28bee319..a15b103b65 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -3321,6 +3321,8 @@ static void usb_xhci_init(XHCIState *xhci) usb_bus_new(&xhci->bus, sizeof(xhci->bus), &xhci_bus_ops, dev); + g_assert(usbports <= MAX(MAXPORTS_2, MAXPORTS_3)); + for (i = 0; i < usbports; i++) { speedmask = 0; if (i < xhci->numports_2) {