[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20210625053335.466325-1-mudongliangabcd@gmail.com>
Date: Fri, 25 Jun 2021 13:33:27 +0800
From: Dongliang Mu <mudongliangabcd@...il.com>
To: Mauro Carvalho Chehab <mchehab@...nel.org>,
Dongliang Mu <mudongliangabcd@...il.com>
Cc: syzbot+e27b4fd589762b0b9329@...kaller.appspotmail.com,
linux-media@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH] media: dvb-usb: fix uninit-value in dvb_usb_adapter_dvb_init
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@...kaller.appspotmail.com
Fixes: 786baecfe78f ("[media] dvb-usb: move it to drivers/media/usb/dvb-usb")
Signed-off-by: Dongliang Mu <mudongliangabcd@...il.com>
---
drivers/media/usb/dvb-usb/nova-t-usb2.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/media/usb/dvb-usb/nova-t-usb2.c b/drivers/media/usb/dvb-usb/nova-t-usb2.c
index e7b290552b66..07d3d68612e7 100644
--- a/drivers/media/usb/dvb-usb/nova-t-usb2.c
+++ b/drivers/media/usb/dvb-usb/nova-t-usb2.c
@@ -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;
@@ -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;
}
--
2.25.1
Powered by blists - more mailing lists