media: go7007: add check of return value of go7007_read_addr()

[ Upstream commit 0b70530ee7 ]

If go7007_read_addr() returns error channel is not assigned a value.
In this case go to allocfail.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: 866b8695d6 ("Staging: add the go7007 video driver")
Signed-off-by: Daniil Dulov <d.dulov@aladdin.ru>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Daniil Dulov 2024-02-11 07:07:05 -08:00 committed by Sasha Levin
parent 42492b0015
commit fdf68321b6

View file

@ -1201,7 +1201,9 @@ static int go7007_usb_probe(struct usb_interface *intf,
u16 channel;
/* read channel number from GPIO[1:0] */
go7007_read_addr(go, 0x3c81, &channel);
if (go7007_read_addr(go, 0x3c81, &channel))
goto allocfail;
channel &= 0x3;
go->board_id = GO7007_BOARDID_ADLINK_MPG24;
usb->board = board = &board_adlink_mpg24;