mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 18:41:58 +09:00
media: dvb-usb: dw2102: fix uninit-value in su3000_read_mac_address
[ Upstream commit a3fd1ef27a ]
In su3000_read_mac_address, if i2c_transfer fails to execute two
messages, array mac address will not be initialized. Without handling
such error, later in function dvb_usb_adapter_dvb_init, proposed_mac
is accessed before initialization.
Fix this error by returning a negative value if message execution fails.
Link: https://lore.kernel.org/linux-media/20230328124416.560889-1-harperchen1110@gmail.com
Signed-off-by: Wei Chen <harperchen1110@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
5d2923fb0b
commit
b769fbf04a
@@ -946,7 +946,7 @@ static int su3000_read_mac_address(struct dvb_usb_device *d, u8 mac[6])
|
|||||||
for (i = 0; i < 6; i++) {
|
for (i = 0; i < 6; i++) {
|
||||||
obuf[1] = 0xf0 + i;
|
obuf[1] = 0xf0 + i;
|
||||||
if (i2c_transfer(&d->i2c_adap, msg, 2) != 2)
|
if (i2c_transfer(&d->i2c_adap, msg, 2) != 2)
|
||||||
break;
|
return -1;
|
||||||
else
|
else
|
||||||
mac[i] = ibuf[0];
|
mac[i] = ibuf[0];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user