* grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
configcnt == 0.
* include/grub/usb.h (grub_usb_err_t): New enum value
GRUB_USB_ERR_BADDEVICE.
+2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Skip incorrect USB devices.
+
+ * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
+ configcnt == 0.
+ * include/grub/usb.h (grub_usb_err_t): New enum value
+ GRUB_USB_ERR_BADDEVICE.
+
2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
Fuloong video init support.
for (i = 0; i < 8; i++)
dev->config[i].descconf = NULL;
+ if (descdev->configcnt == 0)
+ {
+ err = GRUB_USB_ERR_BADDEVICE;
+ goto fail;
+ }
+
for (i = 0; i < descdev->configcnt; i++)
{
int pos;
GRUB_USB_ERR_BABBLE,
GRUB_USB_ERR_TIMEOUT,
GRUB_USB_ERR_BITSTUFF,
- GRUB_USB_ERR_UNRECOVERABLE
+ GRUB_USB_ERR_UNRECOVERABLE,
+ GRUB_USB_ERR_BADDEVICE
} grub_usb_err_t;
typedef enum