Skip to content
This repository was archived by the owner on Nov 8, 2023. It is now read-only.

Commit b0e595d

Browse files
Benoit Sevensgregkh
authored andcommitted
UPSTREAM: USB: media: uvcvideo: Skip parsing frames of type UVC_VS_UNDEFINED in uvc_parse_format
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 <[email protected]> Cc: [email protected] Acked-by: Greg Kroah-Hartman <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]> Bug: 378455392 (cherry picked from commit ecf2b43) Signed-off-by: Greg Kroah-Hartman <[email protected]> Change-Id: I959a6374ba7adf021fc19da755f5c7611fef9b8c
1 parent d792950 commit b0e595d

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

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)