mirror of
https://github.com/torvalds/linux.git
synced 2024-11-15 08:31:55 +00:00
carl9170: fix leaks at failure path in carl9170_usb_probe()
carl9170_usb_probe() does not handle request_firmware_nowait() failure that leads to several leaks in this case. The patch adds all required deallocations. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
b88bb291b2
commit
5c2b6078ce
@ -1076,8 +1076,14 @@ static int carl9170_usb_probe(struct usb_interface *intf,
|
||||
|
||||
carl9170_set_state(ar, CARL9170_STOPPED);
|
||||
|
||||
return request_firmware_nowait(THIS_MODULE, 1, CARL9170FW_NAME,
|
||||
err = request_firmware_nowait(THIS_MODULE, 1, CARL9170FW_NAME,
|
||||
&ar->udev->dev, GFP_KERNEL, ar, carl9170_usb_firmware_step2);
|
||||
if (err) {
|
||||
usb_put_dev(udev);
|
||||
usb_put_dev(udev);
|
||||
carl9170_free(ar);
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
static void carl9170_usb_disconnect(struct usb_interface *intf)
|
||||
|
Loading…
Reference in New Issue
Block a user