media: dw2102: Fix null-ptr-deref in dw2102_i2c_transfer()
authorZhang Shurong <zhang_shurong@foxmail.com>
Sat, 8 Jul 2023 10:22:52 +0000 (18:22 +0800)
committerHans Verkuil <hverkuil-cisco@xs4all.nl>
Wed, 19 Jul 2023 10:57:50 +0000 (12:57 +0200)
commit5ae544d94abc8ff77b1b9bf8774def3fa5689b5b
tree7600a999257e8528f01305c84a6e8f80053086e7
parent1f62bf4fb835aca6ca9aba977be9c50f7acf7be4
media: dw2102: Fix null-ptr-deref in dw2102_i2c_transfer()

In dw2102_i2c_transfer, msg is controlled by user. When msg[i].buf
is null and msg[i].len is zero, former checks on msg[i].buf would be
passed. Malicious data finally reach dw2102_i2c_transfer. If accessing
msg[i].buf[0] without sanity check, null ptr deref would happen.
We add check on msg[i].len to prevent crash.

Similar commit:
commit 950e252cb469
("[media] dw2102: limit messages to buffer size")

Signed-off-by: Zhang Shurong <zhang_shurong@foxmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
drivers/media/usb/dvb-usb/dw2102.c