[11/11] cx231xx: improve error handling

Message ID 201004272111.o3RLBSEX020011@imap1.linux-foundation.org (mailing list archive)
State Superseded, archived
Headers

Commit Message

Andrew Morton April 27, 2010, 9:11 p.m. UTC
  From: Dan Carpenter <error27@gmail.com>

Return -EINVAL if we don't find the control id.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Trent Piepho <xyzzy@speakeasy.org>
Cc: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 drivers/media/video/cx231xx/cx231xx-video.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
  

Patch

diff -puN drivers/media/video/cx231xx/cx231xx-video.c~cx231xx-improve-error-handling drivers/media/video/cx231xx/cx231xx-video.c
--- a/drivers/media/video/cx231xx/cx231xx-video.c~cx231xx-improve-error-handling
+++ a/drivers/media/video/cx231xx/cx231xx-video.c
@@ -1902,9 +1902,12 @@  static int radio_queryctrl(struct file *
 	if (c->id < V4L2_CID_BASE || c->id >= V4L2_CID_LASTP1)
 		return -EINVAL;
 	if (c->id == V4L2_CID_AUDIO_MUTE) {
-		for (i = 0; i < CX231XX_CTLS; i++)
+		for (i = 0; i < CX231XX_CTLS; i++) {
 			if (cx231xx_ctls[i].v.id == c->id)
 				break;
+		}
+		if (i == CX231XX_CTLS)
+			return -EINVAL;
 		*c = cx231xx_ctls[i].v;
 	} else
 		*c = no_ctl;