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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 6 Oct 2023 12:56:36 +0000 (14:56 +0200)
[ Upstream commit c04efbfd76d23157e64e6d6147518c187ab4233a ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/intel/avs/boards/hdaudio.c

index 073663b..a65939f 100644 (file)
@@ -54,6 +54,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;