topology: decode: Remove decoding values for enum control

Values have no representation in standard ALSA configuration files,
therefore there is no need to populate them. Also memory for values
wasn't allocated which was causing undefined behaviour.

Signed-off-by: Piotr Maziarz <piotrx.maziarz@linux.intel.com>
Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com>
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
Piotr Maziarz 2020-08-31 11:08:56 +02:00 committed by Jaroslav Kysela
parent 346a5efa87
commit 11d4a5aa72

View file

@ -1367,11 +1367,8 @@ int tplg_decode_control_enum1(snd_tplg_t *tplg,
et->texts = tplg_calloc(heap, sizeof(char *) * ec->items); et->texts = tplg_calloc(heap, sizeof(char *) * ec->items);
if (!et->texts) if (!et->texts)
return -ENOMEM; return -ENOMEM;
for (i = 0; i < ec->items; i++) { for (i = 0; i < ec->items; i++)
unsigned int j = i * sizeof(int) * ENUM_VAL_SIZE;
et->texts[i] = ec->texts[i]; et->texts[i] = ec->texts[i];
et->values[i] = (int *)&ec->values[j];
}
} }
et->map = tplg_calloc(heap, sizeof(struct snd_tplg_channel_map_template)); et->map = tplg_calloc(heap, sizeof(struct snd_tplg_channel_map_template));