mirror of https://gitee.com/openkylin/linux.git
ASoC: topology: Check if ops is set before dereference
Topology can be created without ops overrides, in that case trying to assign any value would lead to dereferencing NULL pointer. Other places in code have either checks for tplg->ops or loop using *_count variables, hence they can't dereference NULL pointer and there is no need to add more checks. Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com> Link: https://lore.kernel.org/r/20210114163602.911205-3-amadeuszx.slawinski@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
d40ab86f7d
commit
9c88a98383
|
@ -2674,11 +2674,13 @@ int snd_soc_tplg_component_load(struct snd_soc_component *comp,
|
|||
tplg.fw = fw;
|
||||
tplg.dev = comp->dev;
|
||||
tplg.comp = comp;
|
||||
tplg.ops = ops;
|
||||
tplg.io_ops = ops->io_ops;
|
||||
tplg.io_ops_count = ops->io_ops_count;
|
||||
tplg.bytes_ext_ops = ops->bytes_ext_ops;
|
||||
tplg.bytes_ext_ops_count = ops->bytes_ext_ops_count;
|
||||
if (ops) {
|
||||
tplg.ops = ops;
|
||||
tplg.io_ops = ops->io_ops;
|
||||
tplg.io_ops_count = ops->io_ops_count;
|
||||
tplg.bytes_ext_ops = ops->bytes_ext_ops;
|
||||
tplg.bytes_ext_ops_count = ops->bytes_ext_ops_count;
|
||||
}
|
||||
|
||||
ret = soc_tplg_load(&tplg);
|
||||
/* free the created components if fail to load topology */
|
||||
|
|
Loading…
Reference in New Issue