Commit 7583cb51 authored by Takashi Iwai's avatar Takashi Iwai Committed by Jaroslav Kysela

[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: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarJaroslav Kysela <perex@suse.cz>
parent 542d7c66
...@@ -896,7 +896,7 @@ static struct snd_kcontrol_new snd_emu10k1_spdif_mask_control = ...@@ -896,7 +896,7 @@ static struct snd_kcontrol_new snd_emu10k1_spdif_mask_control =
.access = SNDRV_CTL_ELEM_ACCESS_READ, .access = SNDRV_CTL_ELEM_ACCESS_READ,
.iface = SNDRV_CTL_ELEM_IFACE_PCM, .iface = SNDRV_CTL_ELEM_IFACE_PCM,
.name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,MASK), .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,MASK),
.count = 4, .count = 3,
.info = snd_emu10k1_spdif_info, .info = snd_emu10k1_spdif_info,
.get = snd_emu10k1_spdif_get_mask .get = snd_emu10k1_spdif_get_mask
}; };
...@@ -905,7 +905,7 @@ static struct snd_kcontrol_new snd_emu10k1_spdif_control = ...@@ -905,7 +905,7 @@ static struct snd_kcontrol_new snd_emu10k1_spdif_control =
{ {
.iface = SNDRV_CTL_ELEM_IFACE_PCM, .iface = SNDRV_CTL_ELEM_IFACE_PCM,
.name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,DEFAULT), .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,DEFAULT),
.count = 4, .count = 3,
.info = snd_emu10k1_spdif_info, .info = snd_emu10k1_spdif_info,
.get = snd_emu10k1_spdif_get, .get = snd_emu10k1_spdif_get,
.put = snd_emu10k1_spdif_put .put = snd_emu10k1_spdif_put
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment