Re: [PATCH v5 2/9] ASoC: soc-core: Allow searching dai driver name in snd_soc_find_dai

From: Donglin Peng
Date: Tue Aug 22 2017 - 09:25:02 EST


Hi jeffy,

On Tue, Aug 22, 2017 at 3:57 PM, Jeffy Chen <jeffy.chen@xxxxxxxxxxxxxx> wrote:

> @@ -978,7 +978,8 @@ struct snd_soc_dai *snd_soc_find_dai(
> if (dlc->name && strcmp(component->name, dlc->name))
> continue;
> list_for_each_entry(dai, &component->dai_list, list) {
> - if (dlc->dai_name && strcmp(dai->name, dlc->dai_name))
> + if (dlc->dai_name && strcmp(dai->name, dlc->dai_name)
> + && strcmp(dai->driver->name, dlc->dai_name))

In case that dai->driver->name is NULL, strcmp(dai->driver->name,
dlc->dai_name) will cause segmentation fault.
so I think that we can change it as the follows:

if (dlc->dai_name && strcmp(dai->name, dlc->dai_name)
&& dai->driver->name &&
strcmp(dai->driver->name, dlc->dai_name))

> continue;
>
> return dai;
> --
> 2.11.0
>
>