Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d3a874e8 authored by Alexey Khoroshilov's avatar Alexey Khoroshilov Committed by Greg Kroah-Hartman
Browse files

staging: gdm72xx: fix leaks at failure path in gdm_usb_probe()



Error handling code in gdm_usb_probe() misses to deallocate
tx_ and rx_structs and to do usb_put_dev().

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: default avatarAlexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent ead00ddc
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -635,11 +635,14 @@ static int gdm_usb_probe(struct usb_interface *intf,
#endif /* CONFIG_WIMAX_GDM72XX_USB_PM */

	ret = register_wimax_device(phy_dev, &intf->dev);
	if (ret)
		release_usb(udev);

out:
	if (ret) {
		kfree(phy_dev);
		kfree(udev);
		usb_put_dev(usbdev);
	} else {
		usb_set_intfdata(intf, phy_dev);
	}