drivers: media: dvb-frontends/rtl2830: fix an out-of-bounds write error
Commit Message
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: df70ddad81b4 ("[media] rtl2830: implement PID filter")
Signed-off-by: Junlin Li <make24@iscas.ac.cn>
---
drivers/media/dvb-frontends/rtl2830.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
> Ensure index in rtl2830_pid_filter
> 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>
I find it interesting that another personal name is presented here.
* How many contributors (besides the names “Haoxiang Li” and “Ma Ke”)
are connected with such an email address so far?
* How will requirements be resolved better for the Developer's Certificate of Origin?
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
@@ -609,7 +609,7 @@ static int rtl2830_pid_filter(struct dvb_frontend *fe, u8 index, u16 pid, int on
index, pid, onoff);
/* skip invalid PIDs (0x2000) */
- if (pid > 0x1fff || index > 32)
+ if (pid > 0x1fff || index >= 32)
return 0;
if (onoff)