Skip to content

Commit

Permalink
media: dvb-usb: fix uninit-value in dvb_usb_adapter_dvb_init
Browse files Browse the repository at this point in the history
[ Upstream commit c545376 ]

If dibusb_read_eeprom_byte fails, the mac address is not initialized.
And nova_t_read_mac_address does not handle this failure, which leads to
the uninit-value in dvb_usb_adapter_dvb_init.

Fix this by handling the failure of dibusb_read_eeprom_byte.

Reported-by: syzbot+e27b4fd589762b0b9329@syzkaller.appspotmail.com
Fixes: 786baec ("[media] dvb-usb: move it to drivers/media/usb/dvb-usb")
Signed-off-by: Dongliang Mu <mudongliangabcd@gmail.com>
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
mudongliang authored and gregkh committed Sep 15, 2021
1 parent 6a4ad75 commit 0b5f143
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions drivers/media/usb/dvb-usb/nova-t-usb2.c
Expand Up @@ -130,7 +130,7 @@ static int nova_t_rc_query(struct dvb_usb_device *d, u32 *event, int *state)

static int nova_t_read_mac_address (struct dvb_usb_device *d, u8 mac[6])
{
int i;
int i, ret;
u8 b;

mac[0] = 0x00;
Expand All @@ -139,7 +139,9 @@ static int nova_t_read_mac_address (struct dvb_usb_device *d, u8 mac[6])

/* this is a complete guess, but works for my box */
for (i = 136; i < 139; i++) {
dibusb_read_eeprom_byte(d,i, &b);
ret = dibusb_read_eeprom_byte(d, i, &b);
if (ret)
return ret;

mac[5 - (i - 136)] = b;
}
Expand Down

0 comments on commit 0b5f143

Please sign in to comment.