[09/11] cx88: improve error handling

Message ID 201004272111.o3RLBQds020005@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 right query control id.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: Hans Verkuil <hverkuil@xs4all.nl>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

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

Patch

diff -puN drivers/media/video/cx88/cx88-video.c~cx88-improve-error-handling drivers/media/video/cx88/cx88-video.c
--- a/drivers/media/video/cx88/cx88-video.c~cx88-improve-error-handling
+++ a/drivers/media/video/cx88/cx88-video.c
@@ -1537,9 +1537,12 @@  static int radio_queryctrl (struct file 
 		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;