This is an automatic generated email to let you know that the following patch 
were queued:

Subject: drivers: media: dvb-frontends/rtl2832: fix an out-of-bounds write error
Author:  Junlin Li <mak...@iscas.ac.cn>
Date:    Tue Jul 2 21:24:13 2024 +0800

Ensure index in rtl2832_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.

Signed-off-by: Junlin Li <mak...@iscas.ac.cn>
Signed-off-by: Hans Verkuil <hverkuil-ci...@xs4all.nl>
Fixes: 4b01e01a81b6 ("[media] rtl2832: implement PID filter")
[hverkuil: added fixes tag, rtl2830_pid_filter -> rtl2832_pid_filter in logmsg]

 drivers/media/dvb-frontends/rtl2832.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---

diff --git a/drivers/media/dvb-frontends/rtl2832.c 
b/drivers/media/dvb-frontends/rtl2832.c
index acb5c575bace..3b4e46dac1bf 100644
--- a/drivers/media/dvb-frontends/rtl2832.c
+++ b/drivers/media/dvb-frontends/rtl2832.c
@@ -983,7 +983,7 @@ static int rtl2832_pid_filter(struct dvb_frontend *fe, u8 
index, u16 pid,
                index, pid, onoff, dev->slave_ts);
 
        /* skip invalid PIDs (0x2000) */
-       if (pid > 0x1fff || index > 32)
+       if (pid > 0x1fff || index >= 32)
                return 0;
 
        if (onoff)

Reply via email to