diff options
author | Takashi Iwai <tiwai@suse.de> | 2007-08-16 13:32:16 -0400 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2007-10-16 09:59:13 -0400 |
commit | 7583cb51a1e276591f57a2fae05489c878f8ef54 (patch) | |
tree | b69e155cd8b01a0576e64b384f2f2dedb4a7b337 | |
parent | 542d7c66201439f98dd44e62a8186ec33a15b1a7 (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.c | 4 |
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 |