ASoC: SOF: ipc4-topology: Initialize in_format to NULL in sof_ipc4_get_audio_fmt
authorPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
Fri, 17 Mar 2023 06:35:24 +0000 (08:35 +0200)
committerMark Brown <broonie@kernel.org>
Fri, 17 Mar 2023 13:06:04 +0000 (13:06 +0000)
If the available_fmt->num_input_formats is 0 and there is a failure during
the output format parsing then a kfree() would be called on the
uninitialized in_format pointer.

By initializing the in_format to NULL, this error can be avoided.

Fixes: 7ab6b1e8302c ("ASoC: SOF: ipc4-topology: Modify the type of available input/output formats")
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20230317063524.8280-1-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/ipc4-topology.c

index e7b3bdc..2a2c4cd 100644 (file)
@@ -179,7 +179,8 @@ static int sof_ipc4_get_audio_fmt(struct snd_soc_component *scomp,
                                  struct sof_ipc4_available_audio_format *available_fmt,
                                  struct sof_ipc4_base_module_cfg *module_base_cfg)
 {
-       struct sof_ipc4_pin_format *out_format, *in_format;
+       struct sof_ipc4_pin_format *in_format = NULL;
+       struct sof_ipc4_pin_format *out_format;
        int ret;
 
        ret = sof_update_ipc_object(scomp, available_fmt,