Commit 936c7daa authored by Chad Fraleigh's avatar Chad Fraleigh Committed by Mauro Carvalho Chehab

media: gspca: Limit frame size to sizeimage.

Limit frame size to what userland code expects. This can happen when
cameras, such as Kensington VideoCAM, use fixed sized transfer packets
which includes trailing junk in the final packet.
Signed-off-by: default avatarChad Fraleigh <chadf@triularity.org>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent b94b5510
...@@ -444,6 +444,8 @@ void gspca_frame_add(struct gspca_dev *gspca_dev, ...@@ -444,6 +444,8 @@ void gspca_frame_add(struct gspca_dev *gspca_dev,
* next first packet, wake up the application and advance * next first packet, wake up the application and advance
* in the queue */ * in the queue */
if (packet_type == LAST_PACKET) { if (packet_type == LAST_PACKET) {
if (gspca_dev->image_len > gspca_dev->pixfmt.sizeimage)
gspca_dev->image_len = gspca_dev->pixfmt.sizeimage;
spin_lock_irqsave(&gspca_dev->qlock, flags); spin_lock_irqsave(&gspca_dev->qlock, flags);
list_del(&buf->list); list_del(&buf->list);
spin_unlock_irqrestore(&gspca_dev->qlock, flags); spin_unlock_irqrestore(&gspca_dev->qlock, flags);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment