ASoC: hdaudio.c: Add missing check for devm_kstrdup
authorChen Ni <nichen@iscas.ac.cn>
Fri, 15 Sep 2023 02:13:44 +0000 (02:13 +0000)
committerMark Brown <broonie@kernel.org>
Fri, 15 Sep 2023 12:16:20 +0000 (13:16 +0100)
Because of the potential failure of the devm_kstrdup(), the
dl[i].codecs->name could be NULL.
Therefore, we need to check it and return -ENOMEM in order to transfer
the error.

Fixes: 97030a43371e ("ASoC: Intel: avs: Add HDAudio machine board")
Signed-off-by: Chen Ni <nichen@iscas.ac.cn>
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Link: https://lore.kernel.org/r/20230915021344.3078-1-nichen@iscas.ac.cn
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/avs/boards/hdaudio.c

index cb00bc86ac949a5a5592da5a40768271d88e87ba..8876558f19a1bacfd4b7d5b575b25602d885b68a 100644 (file)
@@ -55,6 +55,9 @@ static int avs_create_dai_links(struct device *dev, struct hda_codec *codec, int
                        return -ENOMEM;
 
                dl[i].codecs->name = devm_kstrdup(dev, cname, GFP_KERNEL);
+               if (!dl[i].codecs->name)
+                       return -ENOMEM;
+
                dl[i].codecs->dai_name = pcm->name;
                dl[i].num_codecs = 1;
                dl[i].num_cpus = 1;