[media] saa7134: add test after for loop
authorDan Carpenter <error27@gmail.com>
Mon, 4 Oct 2010 19:28:01 +0000 (16:28 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Thu, 21 Oct 2010 09:54:19 +0000 (07:54 -0200)
Add a check after the for loops to see if we found what we were looking
for or if we reached the end of the list.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/saa7134/saa7134-video.c

index fae5e97a3eb286c37623cb8ac75b2a9b28929806..f0b1573137f4f2a7a3009fb4a574093618df83b2 100644 (file)
@@ -1871,9 +1871,12 @@ int saa7134_s_std_internal(struct saa7134_dev *dev, struct saa7134_fh *fh, v4l2_
                        else
                                fixup = V4L2_STD_SECAM;
                }
-               for (i = 0; i < TVNORMS; i++)
+               for (i = 0; i < TVNORMS; i++) {
                        if (fixup == tvnorms[i].id)
                                break;
+               }
+               if (i == TVNORMS)
+                       return -EINVAL;
        }
 
        *id = tvnorms[i].id;
@@ -1997,9 +2000,12 @@ static int saa7134_g_tuner(struct file *file, void *priv,
        if (0 != t->index)
                return -EINVAL;
        memset(t, 0, sizeof(*t));
-       for (n = 0; n < SAA7134_INPUT_MAX; n++)
+       for (n = 0; n < SAA7134_INPUT_MAX; n++) {
                if (card_in(dev, n).tv)
                        break;
+       }
+       if (n == SAA7134_INPUT_MAX)
+               return -EINVAL;
        if (NULL != card_in(dev, n).name) {
                strcpy(t->name, "Television");
                t->type = V4L2_TUNER_ANALOG_TV;