Commit dbab1cb8 authored by Mengdong Lin's avatar Mengdong Lin Committed by Mark Brown

ASoC: topology: Check name strings of physical DAI links

Check if the name strings are properly terminated, and only use valid
name strings to find existing physical DAI links to configure.
Signed-off-by: default avatarMengdong Lin <mengdong.lin@linux.intel.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 6ff67cca
...@@ -1994,10 +1994,24 @@ static int soc_tplg_link_config(struct soc_tplg *tplg, ...@@ -1994,10 +1994,24 @@ static int soc_tplg_link_config(struct soc_tplg *tplg,
{ {
struct snd_soc_dai_link *link; struct snd_soc_dai_link *link;
const char *name, *stream_name; const char *name, *stream_name;
size_t len;
int ret; int ret;
name = strlen(cfg->name) ? cfg->name : NULL; len = strnlen(cfg->name, SNDRV_CTL_ELEM_ID_NAME_MAXLEN);
stream_name = strlen(cfg->stream_name) ? cfg->stream_name : NULL; if (len == SNDRV_CTL_ELEM_ID_NAME_MAXLEN)
return -EINVAL;
else if (len)
name = cfg->name;
else
name = NULL;
len = strnlen(cfg->stream_name, SNDRV_CTL_ELEM_ID_NAME_MAXLEN);
if (len == SNDRV_CTL_ELEM_ID_NAME_MAXLEN)
return -EINVAL;
else if (len)
stream_name = cfg->stream_name;
else
stream_name = NULL;
link = snd_soc_find_dai_link(tplg->comp->card, cfg->id, link = snd_soc_find_dai_link(tplg->comp->card, cfg->id,
name, stream_name); name, stream_name);
......
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