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

Commit 0b43fcdf authored by Jarod Wilson's avatar Jarod Wilson Committed by Mauro Carvalho Chehab
Browse files

[media] mceusb: plug memory leak on data transmit



Hans Petter Selasky pointed out to me that we're leaking urbs when
mce_async_out is called. Its used both for configuring the hardware and
for transmitting IR data. In the tx case, mce_request_packet actually
allocates both a urb and the transfer buffer, neither of which was being
torn down. Do that in the tx callback.

CC: Hans Petter Selasky <hselasky@c2i.net>
Signed-off-by: default avatarJarod Wilson <jarod@redhat.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 589e1160
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -621,6 +621,9 @@ static void mce_async_callback(struct urb *urb, struct pt_regs *regs)
		mceusb_dev_printdata(ir, urb->transfer_buffer, 0, len, true);
		mceusb_dev_printdata(ir, urb->transfer_buffer, 0, len, true);
	}
	}


	/* the transfer buffer and urb were allocated in mce_request_packet */
	kfree(urb->transfer_buffer);
	usb_free_urb(urb);
}
}


/* request incoming or send outgoing usb packet - used to initialize remote */
/* request incoming or send outgoing usb packet - used to initialize remote */