ASoC: topology: Ensure that needed parameters are set
authorAmadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Thu, 14 Jan 2021 16:36:01 +0000 (11:36 -0500)
committerMark Brown <broonie@kernel.org>
Thu, 21 Jan 2021 12:37:04 +0000 (12:37 +0000)
As snd_soc_tplg_component_load is exported function, which means it is
part of API, there should be checks if it is called with proper
parameters.

Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Link: https://lore.kernel.org/r/20210114163602.911205-2-amadeuszx.slawinski@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-topology.c

index 950c450..0d182a1 100644 (file)
@@ -2659,8 +2659,14 @@ int snd_soc_tplg_component_load(struct snd_soc_component *comp,
        struct soc_tplg tplg;
        int ret;
 
-       /* component needs to exist to keep and reference data while parsing */
-       if (!comp)
+       /*
+        * check if we have sane parameters:
+        * comp - needs to exist to keep and reference data while parsing
+        * comp->dev - used for resource management and prints
+        * comp->card - used for setting card related parameters
+        * fw - we need it, as it is the very thing we parse
+        */
+       if (!comp || !comp->dev || !comp->card || !fw)
                return -EINVAL;
 
        /* setup parsing context */