mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-08 14:23:19 +00:00
media: digitv: don't continue if remote control state can't be read
This results in an uninitialized variable read. Reported-by: syzbot+6bf9606ee955b646c0e1@syzkaller.appspotmail.com Signed-off-by: Sean Young <sean@mess.org> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
342027c5de
commit
eecc70d22a
@ -230,18 +230,22 @@ static struct rc_map_table rc_map_digitv_table[] = {
|
||||
|
||||
static int digitv_rc_query(struct dvb_usb_device *d, u32 *event, int *state)
|
||||
{
|
||||
int i;
|
||||
int ret, i;
|
||||
u8 key[5];
|
||||
u8 b[4] = { 0 };
|
||||
|
||||
*event = 0;
|
||||
*state = REMOTE_NO_KEY_PRESSED;
|
||||
|
||||
digitv_ctrl_msg(d,USB_READ_REMOTE,0,NULL,0,&key[1],4);
|
||||
ret = digitv_ctrl_msg(d, USB_READ_REMOTE, 0, NULL, 0, &key[1], 4);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
/* Tell the device we've read the remote. Not sure how necessary
|
||||
this is, but the Nebula SDK does it. */
|
||||
digitv_ctrl_msg(d,USB_WRITE_REMOTE,0,b,4,NULL,0);
|
||||
ret = digitv_ctrl_msg(d, USB_WRITE_REMOTE, 0, b, 4, NULL, 0);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
/* if something is inside the buffer, simulate key press */
|
||||
if (key[1] != 0)
|
||||
|
Loading…
Reference in New Issue
Block a user