Input: ims-pcu - fix a memory leak on error
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 1 Apr 2013 08:09:15 +0000 (01:09 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 2 Apr 2013 05:23:30 +0000 (22:23 -0700)
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/misc/ims-pcu.c

index 1b044b99da66dff133033f216ae3d22a60552560..e204f26b0011ae0f5ecfff4e6c28cd8e32481806 100644 (file)
@@ -292,7 +292,8 @@ static int ims_pcu_setup_gamepad(struct ims_pcu *pcu)
        if (!gamepad || !input) {
                dev_err(pcu->dev,
                        "Not enough memory for gamepad device\n");
-               return -ENOMEM;
+               error = -ENOMEM;
+               goto err_free_mem;
        }
 
        gamepad->input = input;
@@ -1156,7 +1157,7 @@ static ssize_t ims_pcu_update_firmware_store(struct device *dev,
 {
        struct usb_interface *intf = to_usb_interface(dev);
        struct ims_pcu *pcu = usb_get_intfdata(intf);
-       const struct firmware *fw;
+       const struct firmware *fw = NULL;
        int value;
        int error;