Messages in this thread Patch in this message | | | From | Hangyu Hua <> | Subject | [PATCH] media: uvc_video: fix bit overflow in uvc_probe_video | Date | Thu, 24 Mar 2022 17:13:08 +0800 |
| |
probe->dwMaxPayloadTransferSize is a 32bit value, but bandwidth is 16bit. This may lead to a bit overflow.
Signed-off-by: Hangyu Hua <hbh25y@gmail.com> --- drivers/media/usb/uvc/uvc_video.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/media/usb/uvc/uvc_video.c b/drivers/media/usb/uvc/uvc_video.c index 1b4cc934109e..cc4878373aa7 100644 --- a/drivers/media/usb/uvc/uvc_video.c +++ b/drivers/media/usb/uvc/uvc_video.c @@ -383,7 +383,7 @@ int uvc_probe_video(struct uvc_streaming *stream, struct uvc_streaming_control *probe) { struct uvc_streaming_control probe_min, probe_max; - u16 bandwidth; + u32 bandwidth; unsigned int i; int ret; @@ -422,7 +422,7 @@ int uvc_probe_video(struct uvc_streaming *stream, break; bandwidth = probe->dwMaxPayloadTransferSize; - if (bandwidth <= stream->maxpsize) + if (bandwidth <= (u32)stream->maxpsize) break; if (stream->dev->quirks & UVC_QUIRK_PROBE_MINMAX) { -- 2.25.1
| |