summaryrefslogtreecommitdiffstats
path: root/sound/i2c
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2013-06-26 09:52:20 +0200
committerTakashi Iwai <tiwai@suse.de>2013-06-26 10:35:55 +0200
commitbd5fe738e388ceaa32e5171481e0d3ec59f0ccfe (patch)
treee5195fbd95d2d77b6fc5eb7dba404ec82fe32649 /sound/i2c
parentALSA: snd-firewire-lib: remove unused header inclusion (diff)
downloadlinux-bd5fe738e388ceaa32e5171481e0d3ec59f0ccfe.tar.xz
linux-bd5fe738e388ceaa32e5171481e0d3ec59f0ccfe.zip
ALSA: ak4xx-adda: info leak in ak4xxx_capture_source_info()
"idx" is controled by the user and can be a negative offset into the input_names[] array. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/i2c')
-rw-r--r--sound/i2c/other/ak4xxx-adda.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/i2c/other/ak4xxx-adda.c b/sound/i2c/other/ak4xxx-adda.c
index cef813d23641..ed726d1569e8 100644
--- a/sound/i2c/other/ak4xxx-adda.c
+++ b/sound/i2c/other/ak4xxx-adda.c
@@ -571,7 +571,7 @@ static int ak4xxx_capture_source_info(struct snd_kcontrol *kcontrol,
struct snd_akm4xxx *ak = snd_kcontrol_chip(kcontrol);
int mixer_ch = AK_GET_SHIFT(kcontrol->private_value);
const char **input_names;
- int num_names, idx;
+ unsigned int num_names, idx;
num_names = ak4xxx_capture_num_inputs(ak, mixer_ch);
if (!num_names)