drivers: media: dvb-frontends/rtl2830: fix an out-of-bounds write error
[ Upstream commit 46d7ebfe6a75a454a5fa28604f0ef1491f9d8d14 ]
Ensure index in rtl2830_pid_filter does not exceed 31 to prevent
out-of-bounds access.
dev->filters is a 32-bit value, so set_bit and clear_bit functions should
only operate on indices from 0 to 31. If index is 32, it will attempt to
access a non-existent 33rd bit, leading to out-of-bounds access.
Change the boundary check from index > 32 to index >= 32 to resolve this
issue.
Fixes: df70ddad81
("[media] rtl2830: implement PID filter")
Signed-off-by: Junlin Li <make24@iscas.ac.cn>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
6ae3b9aee4
commit
badbd736e6
@ -609,7 +609,7 @@ static int rtl2830_pid_filter(struct dvb_frontend *fe, u8 index, u16 pid, int on
|
|||||||
index, pid, onoff);
|
index, pid, onoff);
|
||||||
|
|
||||||
/* skip invalid PIDs (0x2000) */
|
/* skip invalid PIDs (0x2000) */
|
||||||
if (pid > 0x1fff || index > 32)
|
if (pid > 0x1fff || index >= 32)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (onoff)
|
if (onoff)
|
||||||
|
Loading…
Reference in New Issue
Block a user