[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>
This commit is contained in:
parent
542d7c6620
commit
7583cb51a1
|
@ -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 =
|
||||||
{
|
{
|
||||||
.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
|
||||||
|
|
Loading…
Reference in a new issue