Skip to content

Commit 1ee9d91

Browse files
dlelcldkekslelegregkh
authored andcommitted
media: uvcvideo: Skip parsing frames of type UVC_VS_UNDEFINED in uvc_parse_format
commit ecf2b43 upstream. This can lead to out of bounds writes since frames of this type were not taken into account when calculating the size of the frames buffer in uvc_parse_streaming. Fixes: c0efd23 ("V4L/DVB (8145a): USB Video Class driver") Signed-off-by: Benoit Sevens <bsevens@google.com> Cc: stable@vger.kernel.org Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 8621725 commit 1ee9d91

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

drivers/media/usb/uvc/uvc_driver.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ static int uvc_parse_format(struct uvc_device *dev,
371371
* Parse the frame descriptors. Only uncompressed, MJPEG and frame
372372
* based formats have frame descriptors.
373373
*/
374-
while (buflen > 2 && buffer[1] == USB_DT_CS_INTERFACE &&
374+
while (ftype && buflen > 2 && buffer[1] == USB_DT_CS_INTERFACE &&
375375
buffer[2] == ftype) {
376376
unsigned int maxIntervalIndex;
377377

0 commit comments

Comments
 (0)