Message ID | 20240702132413.4318-1-make24@iscas.ac.cn (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | drivers: media: dvb-frontends/rtl2832: fix an out-of-bounds write error | expand |
> Ensure index in rtl2830_pid_filter Please correct such information according to the shown function name “rtl2832_pid_filter” in the proposed diff fragment. > does not exceed 31 to prevent out-of-bounds access. … Please adjust the word wrapping. You may occasionally put more than 51 characters into text lines of such a change description. … > Signed-off-by: Junlin Li <make24@iscas.ac.cn> Under which circumstances will applications of the Developer's Certificate of Origin be reconsidered any more (after three different names were presented so far)? https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.10-rc6#n398 Would you like to omit the text “drivers: ” from the subsystem specification? Regards, Markus
diff --git a/drivers/media/dvb-frontends/rtl2832.c b/drivers/media/dvb-frontends/rtl2832.c index 5142820b1b3d..76c3f40443b2 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)
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. Signed-off-by: Junlin Li <make24@iscas.ac.cn> --- drivers/media/dvb-frontends/rtl2832.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)