[PATCH] Fix Null Pointer Dereference in uvcg_video_init()
Jeffin Philip <[email protected]>
| Newsgroups | org.kernel.vger.linux-usb,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
uvcg_video_init references video->uvc before assigning it leading to a null pointer dereference. Fix this by assigning video->uvc first and then dereferencing it later. Reported-by: [email protected] Fixes: https://syzkaller.appspot.com/bug?extid=8dcac923582c28505fd7 Signed-off-by: Jeffin Philip <[email protected]> --- drivers/usb/gadget/function/uvc_video.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/gadget/function/uvc_video.c b/drivers/usb/gadget/function/uvc_video.c index 2f9700b3f1b6..cb532654b9b8 100644 --- a/drivers/usb/gadget/function/uvc_video.c +++ b/drivers/usb/gadget/function/uvc_video.c @@ -806,6 +806,7 @@ int uvcg_video_enable(struct uvc_video *video) */ int uvcg_video_init(struct uvc_video *video, struct uvc_device *uvc) { + video->uvc = uvc; video->is_enabled = false; INIT_LIST_HEAD(&video->ureqs); INIT_LIST_HEAD(&video->req_free); @@ -829,7 +830,6 @@ int uvcg_video_init(struct uvc_video *video, struct uvc_device *uvc) sched_set_fifo(video->kworker->task); - video->uvc = uvc; video->fcc = V4L2_PIX_FMT_YUYV; video->bpp = 16; video->width = 320; -- 2.55.0