aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/asihpi/asihpi.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-01-09 12:26:05 -0500
committerTakashi Iwai <tiwai@suse.de>2012-01-09 12:27:54 -0500
commit74eeb141d3bdf5a9a65c84dd637c41f12c40f41c (patch)
tree819cfbefd802e9e4c7daefd9055d59e632343228 /sound/pci/asihpi/asihpi.c
parent9badda0a0afffebbe1cb30565800896534a6c5bd (diff)
ALSA: asihpi - Fix potential Oops in snd_asihpi_cmode_info()
Dan Carpenter reported that setting 0 to uinfo->value.enumerated.items in snd_asihpi_cmode_info() may lead to Oops. This function should return an error immediately in such a case instead. Cc: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/asihpi/asihpi.c')
-rw-r--r--sound/pci/asihpi/asihpi.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/pci/asihpi/asihpi.c b/sound/pci/asihpi/asihpi.c
index fd3926fb0a08..e8de831f98bc 100644
--- a/sound/pci/asihpi/asihpi.c
+++ b/sound/pci/asihpi/asihpi.c
@@ -2259,6 +2259,9 @@ static int snd_asihpi_cmode_info(struct snd_kcontrol *kcontrol,
2259 valid_modes++; 2259 valid_modes++;
2260 } 2260 }
2261 2261
2262 if (!valid_modes)
2263 return -EINVAL;
2264
2262 uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; 2265 uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED;
2263 uinfo->count = 1; 2266 uinfo->count = 1;
2264 uinfo->value.enumerated.items = valid_modes; 2267 uinfo->value.enumerated.items = valid_modes;