aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2007-08-16 13:32:16 -0400
committerJaroslav Kysela <perex@perex.cz>2007-10-16 09:59:13 -0400
commit7583cb51a1e276591f57a2fae05489c878f8ef54 (patch)
treeb69e155cd8b01a0576e64b384f2f2dedb4a7b337
parent542d7c66201439f98dd44e62a8186ec33a15b1a7 (diff)
[ALSA] emu10k1 - Fix memory corruption
The number of mixer elements for SPDIF control don't match with the actual array size (3). This may result in a memory corruption that overwrites the i2c_capture_source field (ALSA bug#3095). Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
-rw-r--r--sound/pci/emu10k1/emumixer.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/pci/emu10k1/emumixer.c b/sound/pci/emu10k1/emumixer.c
index 692b871bff57..71ad5a038e81 100644
--- a/sound/pci/emu10k1/emumixer.c
+++ b/sound/pci/emu10k1/emumixer.c
@@ -896,7 +896,7 @@ static struct snd_kcontrol_new snd_emu10k1_spdif_mask_control =
896 .access = SNDRV_CTL_ELEM_ACCESS_READ, 896 .access = SNDRV_CTL_ELEM_ACCESS_READ,
897 .iface = SNDRV_CTL_ELEM_IFACE_PCM, 897 .iface = SNDRV_CTL_ELEM_IFACE_PCM,
898 .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,MASK), 898 .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,MASK),
899 .count = 4, 899 .count = 3,
900 .info = snd_emu10k1_spdif_info, 900 .info = snd_emu10k1_spdif_info,
901 .get = snd_emu10k1_spdif_get_mask 901 .get = snd_emu10k1_spdif_get_mask
902}; 902};
@@ -905,7 +905,7 @@ static struct snd_kcontrol_new snd_emu10k1_spdif_control =
905{ 905{
906 .iface = SNDRV_CTL_ELEM_IFACE_PCM, 906 .iface = SNDRV_CTL_ELEM_IFACE_PCM,
907 .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,DEFAULT), 907 .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,DEFAULT),
908 .count = 4, 908 .count = 3,
909 .info = snd_emu10k1_spdif_info, 909 .info = snd_emu10k1_spdif_info,
910 .get = snd_emu10k1_spdif_get, 910 .get = snd_emu10k1_spdif_get,
911 .put = snd_emu10k1_spdif_put 911 .put = snd_emu10k1_spdif_put