mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-10-22 23:13:01 +02:00
media: uvcvideo: Fix 1-byte out-of-bounds read in uvc_parse_format()
commit782b6a7186upstream. The buffer length check before calling uvc_parse_format() only ensured that the buffer has at least 3 bytes (buflen > 2), buf the function accesses buffer[3], requiring at least 4 bytes. This can lead to an out-of-bounds read if the buffer has exactly 3 bytes. Fix it by checking that the buffer has at least 4 bytes in uvc_parse_format(). Signed-off-by: Youngjun Lee <yjjuny.lee@samsung.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Fixes:c0efd23292("V4L/DVB (8145a): USB Video Class driver") Cc: stable@vger.kernel.org Reviewed-by: Ricardo Ribalda <ribalda@chromium.org> Link: https://lore.kernel.org/r/20250610124107.37360-1-yjjuny.lee@samsung.com Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
a181b228b3
commit
6d4a7c0b29
|
|
@ -344,6 +344,9 @@ static int uvc_parse_format(struct uvc_device *dev,
|
|||
u8 ftype;
|
||||
int ret;
|
||||
|
||||
if (buflen < 4)
|
||||
return -EINVAL;
|
||||
|
||||
format->type = buffer[2];
|
||||
format->index = buffer[3];
|
||||
format->frames = frames;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user