From b7786af7093ad88c383ca130ed59f6c53e88383c Mon Sep 17 00:00:00 2001 From: Jonathan Corbet Date: Fri, 13 Oct 2006 07:51:16 -0300 Subject: [PATCH] --- yaml --- r: 39578 b: refs/heads/master c: 83427ac5d643308ccb36e05d525949952bdedc27 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/media/video/videodev.c | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 7a525c62ebca..022aa5e9f033 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c12e3be0860652ed1e15c9442adcba44317211d1 +refs/heads/master: 83427ac5d643308ccb36e05d525949952bdedc27 diff --git a/trunk/drivers/media/video/videodev.c b/trunk/drivers/media/video/videodev.c index 98de872042a8..d424a4129d69 100644 --- a/trunk/drivers/media/video/videodev.c +++ b/trunk/drivers/media/video/videodev.c @@ -1288,6 +1288,7 @@ static int __video_do_ioctl(struct inode *inode, struct file *file, ret=vfd->vidioc_g_parm(file, fh, p); } else { struct v4l2_standard s; + int i; if (!vfd->tvnormsize) { printk (KERN_WARNING "%s: no TV norms defined!\n", @@ -1298,8 +1299,14 @@ static int __video_do_ioctl(struct inode *inode, struct file *file, if (p->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) return -EINVAL; - v4l2_video_std_construct(&s, vfd->tvnorms[vfd->current_norm].id, - vfd->tvnorms[vfd->current_norm].name); + for (i = 0; i < vfd->tvnormsize; i++) + if (vfd->tvnorms[i].id == vfd->current_norm) + break; + if (i >= vfd->tvnormsize) + return -EINVAL; + + v4l2_video_std_construct(&s, vfd->current_norm, + vfd->tvnorms[i].name); memset(p,0,sizeof(*p));