]> Pileus Git - ~andy/linux/commitdiff
usb: misc: sisusbvga: Avoid NULL pointer dereference from sisusb
authorColin Ian King <colin.king@canonical.com>
Fri, 15 Mar 2013 17:14:57 +0000 (17:14 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 Mar 2013 18:51:01 +0000 (11:51 -0700)
A failed kzalloc() is reported with a dev_err that dereferences the null
sisusb, this will cause a NULL pointer deference error.

Instead, pass dev->dev to the dev_err() rather than &sisusb->sisusb_dev->dev

Smatch analysis:

drivers/usb/misc/sisusbvga/sisusb.c:3087 sisusb_probe() error: potential null
  dereference 'sisusb'.  (kzalloc returns null)

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/misc/sisusbvga/sisusb.c

index dd573abd2d1edf9b32b0a97aa9def3d1abd9d967..c21386ec5d35d142b7d0d84abe2e3f3cb5be7125 100644 (file)
@@ -3084,7 +3084,7 @@ static int sisusb_probe(struct usb_interface *intf,
 
        /* Allocate memory for our private */
        if (!(sisusb = kzalloc(sizeof(*sisusb), GFP_KERNEL))) {
-               dev_err(&sisusb->sisusb_dev->dev, "Failed to allocate memory for private data\n");
+               dev_err(&dev->dev, "Failed to allocate memory for private data\n");
                return -ENOMEM;
        }
        kref_init(&sisusb->kref);