[PATCH] USB: ldusb fixes
authorMichael Hund <mhund@ld-didactic.de>
Fri, 29 Jul 2005 19:17:20 +0000 (12:17 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 29 Jul 2005 20:12:53 +0000 (13:12 -0700)
below you will find the forgotten kmalloc check (sorry).

Signed-off-by: Michael Hund <mhund@ld-didactic.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/usb/misc/ldusb.c

index 66ec88354b938b3fba01369a060aab6153740d4b..ad17892aac9e829b8ad8dd509203a11f425f2a24 100644 (file)
@@ -23,6 +23,7 @@
  *
  * V0.1  (mh) Initial version
  * V0.11 (mh) Added raw support for HID 1.0 devices (no interrupt out endpoint)
+ * V0.12 (mh) Added kmalloc check for string buffer
  */
 
 #include <linux/config.h>
@@ -84,7 +85,7 @@ static struct usb_device_id ld_usb_table [] = {
        { }                                     /* Terminating entry */
 };
 MODULE_DEVICE_TABLE(usb, ld_usb_table);
-MODULE_VERSION("V0.11");
+MODULE_VERSION("V0.12");
 MODULE_AUTHOR("Michael Hund <mhund@ld-didactic.de>");
 MODULE_DESCRIPTION("LD USB Driver");
 MODULE_LICENSE("GPL");
@@ -635,6 +636,10 @@ static int ld_usb_probe(struct usb_interface *intf, const struct usb_device_id *
             (le16_to_cpu(udev->descriptor.idProduct) == USB_DEVICE_ID_COM3LAB)) &&
            (le16_to_cpu(udev->descriptor.bcdDevice) <= 0x103)) {
                buffer = kmalloc(256, GFP_KERNEL);
+               if (buffer == NULL) {
+                       dev_err(&intf->dev, "Couldn't allocate string buffer\n");
+                       goto error;
+               }
                /* usb_string makes SETUP+STALL to leave always ControlReadLoop */
                usb_string(udev, 255, buffer, 256);
                kfree(buffer);