summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDan Carpenter <error27@gmail.com>2010-04-02 08:31:50 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-05-19 12:57:31 -0300
commita41b2ea73ad81bb42364841b37d4c3830a53dc0d (patch)
tree65cc30386bcc1dcf4faacdd7b0078f6574012312 /drivers
parent8e47567f7d24346980f109d7eaed083106ff170d (diff)
downloadlinux-a41b2ea73ad81bb42364841b37d4c3830a53dc0d.tar.bz2
V4L/DVB: cx88: improve error handling
Return -EINVAL if we don't find the right query control id. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/video/cx88/cx88-video.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/media/video/cx88/cx88-video.c b/drivers/media/video/cx88/cx88-video.c
index f5d1d89bdc26..0fab65c3ab39 100644
--- a/drivers/media/video/cx88/cx88-video.c
+++ b/drivers/media/video/cx88/cx88-video.c
@@ -1538,9 +1538,12 @@ static int radio_queryctrl (struct file *file, void *priv,
c->id >= V4L2_CID_LASTP1)
return -EINVAL;
if (c->id == V4L2_CID_AUDIO_MUTE) {
- for (i = 0; i < CX8800_CTLS; i++)
+ for (i = 0; i < CX8800_CTLS; i++) {
if (cx8800_ctls[i].v.id == c->id)
break;
+ }
+ if (i == CX8800_CTLS)
+ return -EINVAL;
*c = cx8800_ctls[i].v;
} else
*c = no_ctl;