mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-25 09:50:55 +07:00
[media] dib0700: Fix memory leak during initialization
Reported by kmemleak. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Mauro Carvalho Chehab <mchehab@infradead.org> Cc: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
3ef7675948
commit
d3db22e10b
@ -679,6 +679,7 @@ static void dib0700_rc_urb_completion(struct urb *purb)
|
|||||||
deb_info("%s()\n", __func__);
|
deb_info("%s()\n", __func__);
|
||||||
if (d->rc_dev == NULL) {
|
if (d->rc_dev == NULL) {
|
||||||
/* This will occur if disable_rc_polling=1 */
|
/* This will occur if disable_rc_polling=1 */
|
||||||
|
kfree(purb->transfer_buffer);
|
||||||
usb_free_urb(purb);
|
usb_free_urb(purb);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -687,6 +688,7 @@ static void dib0700_rc_urb_completion(struct urb *purb)
|
|||||||
|
|
||||||
if (purb->status < 0) {
|
if (purb->status < 0) {
|
||||||
deb_info("discontinuing polling\n");
|
deb_info("discontinuing polling\n");
|
||||||
|
kfree(purb->transfer_buffer);
|
||||||
usb_free_urb(purb);
|
usb_free_urb(purb);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -781,8 +783,11 @@ int dib0700_rc_setup(struct dvb_usb_device *d)
|
|||||||
dib0700_rc_urb_completion, d);
|
dib0700_rc_urb_completion, d);
|
||||||
|
|
||||||
ret = usb_submit_urb(purb, GFP_ATOMIC);
|
ret = usb_submit_urb(purb, GFP_ATOMIC);
|
||||||
if (ret)
|
if (ret) {
|
||||||
err("rc submit urb failed\n");
|
err("rc submit urb failed\n");
|
||||||
|
kfree(purb->transfer_buffer);
|
||||||
|
usb_free_urb(purb);
|
||||||
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user