ASoC: Intel: Skylake: Fix null ptr dereferenced in skl_tplg_bind_sinks
This patch fixes the below warning form smatch and makes the skl_tplg_bind_sinks take the next sink as argument which is true when the current sink is valid sound/soc/intel/skylake/skl-topology.c:453 skl_tplg_bind_sinks() error: we previously assumed 'sink' could be null (see line 452) sound/soc/intel/skylake/skl-topology.c 451 452 if (!sink) ^^^^ New check. Reversed? 453 return skl_tplg_bind_sinks(sink, skl, src_mconfig); ^^^^ This is dereferenced inside the function. 454 455 return 0; Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Jeeja KP <jeeja.kp@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
e797af53b8
commit
0ed95d769c
1 changed files with 3 additions and 3 deletions
|
@ -408,7 +408,7 @@ static int skl_tplg_bind_sinks(struct snd_soc_dapm_widget *w,
|
|||
struct skl_module_cfg *src_mconfig)
|
||||
{
|
||||
struct snd_soc_dapm_path *p;
|
||||
struct snd_soc_dapm_widget *sink = NULL;
|
||||
struct snd_soc_dapm_widget *sink = NULL, *next_sink = NULL;
|
||||
struct skl_module_cfg *sink_mconfig;
|
||||
struct skl_sst *ctx = skl->skl_sst;
|
||||
int ret;
|
||||
|
@ -420,7 +420,7 @@ static int skl_tplg_bind_sinks(struct snd_soc_dapm_widget *w,
|
|||
dev_dbg(ctx->dev, "%s: src widget=%s\n", __func__, w->name);
|
||||
dev_dbg(ctx->dev, "%s: sink widget=%s\n", __func__, p->sink->name);
|
||||
|
||||
sink = p->sink;
|
||||
next_sink = p->sink;
|
||||
/*
|
||||
* here we will check widgets in sink pipelines, so that
|
||||
* can be any widgets type and we are only interested if
|
||||
|
@ -450,7 +450,7 @@ static int skl_tplg_bind_sinks(struct snd_soc_dapm_widget *w,
|
|||
}
|
||||
|
||||
if (!sink)
|
||||
return skl_tplg_bind_sinks(sink, skl, src_mconfig);
|
||||
return skl_tplg_bind_sinks(next_sink, skl, src_mconfig);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue