usb-misc: sisusbvga: fix error path
authorPeter Senna Tschudin <peter.senna@collabora.com>
Fri, 15 Jan 2016 17:41:34 +0000 (18:41 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 25 Jan 2016 05:04:54 +0000 (21:04 -0800)
Remove a call to dev_err() that was reporting an unsuccesful call to
kmalloc(), as reporting memory allocation failures is redundant. Instead
of logging the error, clean up previously allocated resources and abort
the probe with -ENOMEM. Before this change sisusb->SiS_Pr could be
dereferenced even if null after failure of memory allocation.

Signed-off-by: Peter Senna Tschudin <peter.senna@collabora.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/misc/sisusbvga/sisusb.c

index b3713d5..a22de52 100644 (file)
@@ -3112,7 +3112,8 @@ static int sisusb_probe(struct usb_interface *intf,
        /* Allocate our SiS_Pr */
        sisusb->SiS_Pr = kmalloc(sizeof(struct SiS_Private), GFP_KERNEL);
        if (!sisusb->SiS_Pr) {
-               dev_err(&sisusb->sisusb_dev->dev, "Failed to allocate SiS_Pr\n");
+               retval = -ENOMEM;
+               goto error_4;
        }
 #endif