usb: Expand buffer size in usb_find_and_bind_driver()
authorMarek Vasut <marex@denx.de>
Sat, 26 Nov 2022 12:57:53 +0000 (13:57 +0100)
committerMarek Vasut <marex@denx.de>
Sun, 27 Nov 2022 11:04:36 +0000 (12:04 +0100)
The "generic_bus_%x_dev_%x" string which is printed into this buffer
can be up to 34 characters long ("generic_bus_12345678_dev_12345678").
The buffer would be clipped by snprintf() if both %x were at maximum
range. Make sure the buffer is long enough to cover such possibility.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
drivers/usb/host/usb-uclass.c

index 27e2fc6..060f344 100644 (file)
@@ -557,7 +557,7 @@ static int usb_find_and_bind_driver(struct udevice *parent,
        struct usb_driver_entry *start, *entry;
        int n_ents;
        int ret;
-       char name[30], *str;
+       char name[34], *str;
        ofnode node = usb_get_ofnode(parent, port);
 
        *devp = NULL;