mirror of
https://github.com/torvalds/linux.git
synced 2024-11-21 19:46:16 +00:00
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: c0efd23292
("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>
This commit is contained in:
parent
702a47ce6d
commit
ecf2b43018
@ -371,7 +371,7 @@ static int uvc_parse_format(struct uvc_device *dev,
|
|||||||
* Parse the frame descriptors. Only uncompressed, MJPEG and frame
|
* Parse the frame descriptors. Only uncompressed, MJPEG and frame
|
||||||
* based formats have frame descriptors.
|
* based formats have frame descriptors.
|
||||||
*/
|
*/
|
||||||
while (buflen > 2 && buffer[1] == USB_DT_CS_INTERFACE &&
|
while (ftype && buflen > 2 && buffer[1] == USB_DT_CS_INTERFACE &&
|
||||||
buffer[2] == ftype) {
|
buffer[2] == ftype) {
|
||||||
unsigned int maxIntervalIndex;
|
unsigned int maxIntervalIndex;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user