882e00b601
[ Upstream commit 6499a0db9b0f1e903d52f8244eacc1d4be00eea2 ] The value av7110->debi_virt is stored in DMA memory, and it is assigned to data, and thus data[0] can be modified at any time by malicious hardware. In this case, "if (data[0] < 2)" can be passed, but then data[0] can be changed into a large number, which may cause buffer overflow when the code "av7110->ci_slot[data[0]]" is used. To fix this possible bug, data[0] is assigned to a local variable, which replaces the use of data[0]. Signed-off-by: Jia-Ju Bai <baijiaju@tsinghua.edu.cn> Signed-off-by: Sean Young <sean@mess.org> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
---|---|---|
.. | ||
av7110_av.c | ||
av7110_av.h | ||
av7110_ca.c | ||
av7110_ca.h | ||
av7110_hw.c | ||
av7110_hw.h | ||
av7110_ipack.c | ||
av7110_ipack.h | ||
av7110_ir.c | ||
av7110_v4l.c | ||
av7110.c | ||
av7110.h | ||
budget-av.c | ||
budget-ci.c | ||
budget-core.c | ||
budget-patch.c | ||
budget.c | ||
budget.h | ||
dvb_filter.c | ||
dvb_filter.h | ||
Kconfig | ||
Makefile | ||
ttpci-eeprom.c | ||
ttpci-eeprom.h |