diff options
author | Michael Jones <michael.jones@matrix-vision.de> | 2011-08-09 08:42:20 +0200 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-09-11 14:49:27 +0200 |
commit | 61e6561fae573c3c618118a71ff966ddb14299da (patch) | |
tree | 2f79eb2b8daab4d025f45f216ac70028f5cdb79b /drivers/media/video/omap3isp/ispqueue.c | |
parent | [media] omap3isp: Don't accept pipelines with no video source as valid (diff) | |
download | linux-61e6561fae573c3c618118a71ff966ddb14299da.tar.xz linux-61e6561fae573c3c618118a71ff966ddb14299da.zip |
[media] omap3isp: queue: fail QBUF if user buffer is too small
Add buffer length check to sanity checks for USERPTR QBUF.
Signed-off-by: Michael Jones <michael.jones@matrix-vision.de>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to '')
-rw-r--r-- | drivers/media/video/omap3isp/ispqueue.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/media/video/omap3isp/ispqueue.c b/drivers/media/video/omap3isp/ispqueue.c index 9c317148205f..9bebb1e57aab 100644 --- a/drivers/media/video/omap3isp/ispqueue.c +++ b/drivers/media/video/omap3isp/ispqueue.c @@ -868,6 +868,10 @@ int omap3isp_video_queue_qbuf(struct isp_video_queue *queue, goto done; if (vbuf->memory == V4L2_MEMORY_USERPTR && + vbuf->length < buf->vbuf.length) + goto done; + + if (vbuf->memory == V4L2_MEMORY_USERPTR && vbuf->m.userptr != buf->vbuf.m.userptr) { isp_video_buffer_cleanup(buf); buf->vbuf.m.userptr = vbuf->m.userptr; |