mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-16 01:54:00 +00:00
Input: xpad - fix a memory leak
In xpad_led_disconnect(), what we really want is to kfree(xpad_led). In xpad_disconnect(), add a missing kfree(xpad->bdata) to fix the memory leak. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
parent
49cc69b678
commit
6ff92a6db2
@ -732,7 +732,7 @@ static void xpad_led_disconnect(struct usb_xpad *xpad)
|
||||
|
||||
if (xpad_led) {
|
||||
led_classdev_unregister(&xpad_led->led_cdev);
|
||||
kfree(xpad_led->name);
|
||||
kfree(xpad_led);
|
||||
}
|
||||
}
|
||||
#else
|
||||
@ -921,7 +921,7 @@ static int xpad_probe(struct usb_interface *intf, const struct usb_device_id *id
|
||||
usb_set_intfdata(intf, xpad);
|
||||
|
||||
/*
|
||||
* Submit the int URB immediatly rather than waiting for open
|
||||
* Submit the int URB immediately rather than waiting for open
|
||||
* because we get status messages from the device whether
|
||||
* or not any controllers are attached. In fact, it's
|
||||
* exactly the message that a controller has arrived that
|
||||
@ -1000,6 +1000,7 @@ static void xpad_disconnect(struct usb_interface *intf)
|
||||
usb_free_urb(xpad->irq_in);
|
||||
usb_free_coherent(xpad->udev, XPAD_PKT_LEN,
|
||||
xpad->idata, xpad->idata_dma);
|
||||
kfree(xpad->bdata);
|
||||
kfree(xpad);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user