[PATCH 2/2] ASoC: SOF: check for NULL before dereferencing
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Fri Mar 18 15:51:45 CET 2022
On 3/18/22 02:13, Dan Carpenter wrote:
> This code dereferences "dai" before checking whether it can be NULL.
>
> Fixes: 839e484f9e17 ("ASoC: SOF: make struct snd_sof_dai IPC agnostic")
> Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
Same thing, this code will be removed in follow-up patches and we missed
the intermediate error. Thanks for the patch.
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart at linux.intel.com>
> ---
> sound/soc/sof/sof-audio.c | 14 ++++++++++----
> 1 file changed, 10 insertions(+), 4 deletions(-)
>
> diff --git a/sound/soc/sof/sof-audio.c b/sound/soc/sof/sof-audio.c
> index 15c36a51f89f..88ddd1e2476d 100644
> --- a/sound/soc/sof/sof-audio.c
> +++ b/sound/soc/sof/sof-audio.c
> @@ -626,10 +626,13 @@ int sof_set_up_pipelines(struct snd_sof_dev *sdev, bool verify)
> /* update DAI config. The IPC will be sent in sof_widget_setup() */
> if (WIDGET_IS_DAI(swidget->id)) {
> struct snd_sof_dai *dai = swidget->private;
> - struct sof_dai_private_data *private = dai->private;
> + struct sof_dai_private_data *private;
> struct sof_ipc_dai_config *config;
>
> - if (!dai || !private || !private->dai_config)
> + if (!dai)
> + continue;
> + private = dai->private;
> + if (!private || !private->dai_config)
> continue;
>
> config = private->dai_config;
> @@ -918,10 +921,13 @@ static int sof_dai_get_clk(struct snd_soc_pcm_runtime *rtd, int clk_type)
> snd_soc_rtdcom_lookup(rtd, SOF_AUDIO_PCM_DRV_NAME);
> struct snd_sof_dai *dai =
> snd_sof_find_dai(component, (char *)rtd->dai_link->name);
> - struct sof_dai_private_data *private = dai->private;
> + struct sof_dai_private_data *private;
>
> /* use the tplg configured mclk if existed */
> - if (!dai || !private || !private->dai_config)
> + if (!dai)
> + return 0;
> + private = dai->private;
> + if (!private || !private->dai_config)
> return 0;
>
> switch (private->dai_config->type) {
More information about the Alsa-devel
mailing list