aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/gspca/stk014.c
diff options
context:
space:
mode:
authorJean-François Moine <moinejf@free.fr>2011-05-17 03:58:57 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-05-21 09:33:31 -0300
commitbff6069dc16c84862a915d1d5564789928c173bf (patch)
tree8718f6b0f084093c68ddeb92522cce5ebb89a51d /drivers/media/video/gspca/stk014.c
parentf7242d30034da3f2937fbe9eb3d17355bbff58d1 (diff)
downloadkernel_samsung_smdk4412-bff6069dc16c84862a915d1d5564789928c173bf.zip
kernel_samsung_smdk4412-bff6069dc16c84862a915d1d5564789928c173bf.tar.gz
kernel_samsung_smdk4412-bff6069dc16c84862a915d1d5564789928c173bf.tar.bz2
[media] gspca - stk014 / t613: Accept the index 0 in querymenu
This patch fixes the kernel bug #15122. Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/gspca/stk014.c')
-rw-r--r--drivers/media/video/gspca/stk014.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/drivers/media/video/gspca/stk014.c b/drivers/media/video/gspca/stk014.c
index 87be52b..7637477 100644
--- a/drivers/media/video/gspca/stk014.c
+++ b/drivers/media/video/gspca/stk014.c
@@ -436,17 +436,14 @@ static void sd_pkt_scan(struct gspca_dev *gspca_dev,
static int sd_querymenu(struct gspca_dev *gspca_dev,
struct v4l2_querymenu *menu)
{
+ static const char *freq_nm[3] = {"NoFliker", "50 Hz", "60 Hz"};
+
switch (menu->id) {
case V4L2_CID_POWER_LINE_FREQUENCY:
- switch (menu->index) {
- case 1: /* V4L2_CID_POWER_LINE_FREQUENCY_50HZ */
- strcpy((char *) menu->name, "50 Hz");
- return 0;
- case 2: /* V4L2_CID_POWER_LINE_FREQUENCY_60HZ */
- strcpy((char *) menu->name, "60 Hz");
- return 0;
- }
- break;
+ if ((unsigned) menu->index >= ARRAY_SIZE(freq_nm))
+ break;
+ strcpy((char *) menu->name, freq_nm[menu->index]);
+ return 0;
}
return -EINVAL;
}