Re: [PATCH v1 1/1] usb: hcd: Bump local buffer size in rh_string()

From: Greg Kroah-Hartman
Date: Fri Jan 17 2025 - 01:12:47 EST


On Thu, Jan 16, 2025 at 06:05:43PM +0200, Andy Shevchenko wrote:
> GCC is not happy about the buffer size:
>
> drivers/usb/core/hcd.c:441:48: error: ‘%s’ directive output may be truncated writing up to 64 bytes into a region of size between 35 and 99 [-Werror=format-truncation=]
> 441 | snprintf (buf, sizeof buf, "%s %s %s", init_utsname()->sysname,
> | ^~
> 442 | init_utsname()->release, hcd->driver->description);
> | ~~~~~~~~~~~~~~~~~~~~~~~
>
> Bump the size to get it enough for the possible strings.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> ---
> drivers/usb/core/hcd.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c
> index 0b2490347b9f..a75cf1f6d741 100644
> --- a/drivers/usb/core/hcd.c
> +++ b/drivers/usb/core/hcd.c
> @@ -415,7 +415,7 @@ ascii2desc(char const *s, u8 *buf, unsigned len)
> static unsigned
> rh_string(int id, struct usb_hcd const *hcd, u8 *data, unsigned len)
> {
> - char buf[100];
> + char buf[160];
> char const *s;
> static char const langids[4] = {4, USB_DT_STRING, 0x09, 0x04};

Worst case it's properly truncated so why do we need to worry about this
"warning"? And what compiler version is giving that, I don't see that
here in my build testing.

thanks,

greg k-h