OSDN Git Service

media: em28xx: Fix use-after-free in em28xx_alloc_urbs
authorDinghao Liu <dinghao.liu@zju.edu.cn>
Mon, 28 Dec 2020 13:02:05 +0000 (14:02 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Tue, 12 Jan 2021 17:21:07 +0000 (18:21 +0100)
commita26efd1961a18b91ae4cd2e433adbcf865b40fa3
tree1975264fedb673db43796ec5867ff73bbcb2bfb0
parentdbfa04ec61b7e68259efcdef39b1c637bfedf264
media: em28xx: Fix use-after-free in em28xx_alloc_urbs

When kzalloc() fails, em28xx_uninit_usb_xfer() will free
usb_bufs->buf and set it to NULL. Thus the later access
to usb_bufs->buf[i] will lead to null pointer dereference.
Also the kfree(usb_bufs->buf) after that is redundant.

Fixes: d571b592c6206 ("media: em28xx: don't use coherent buffer for DMA transfers")
Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/usb/em28xx/em28xx-core.c