devm_kasprintf() returns a pointer to dynamically allocated memory which can be NULL upon failure.
Fixes: 46207ca24545 ("ASoC: SOF: pci: change the default firmware path when the community key is used") Fixes: 25bbc0c59ee1 ("ASoC: SOF: Add path definition for external firmware libraries") Signed-off-by: Kunwu Chan chentao@kylinos.cn --- sound/soc/sof/sof-pci-dev.c | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c index 64b326e3ef85..75a9bfa5bfbe 100644 --- a/sound/soc/sof/sof-pci-dev.c +++ b/sound/soc/sof/sof-pci-dev.c @@ -282,6 +282,10 @@ int sof_pci_probe(struct pci_dev *pci, const struct pci_device_id *pci_id) devm_kasprintf(dev, GFP_KERNEL, "%s/%s", sof_pdata->desc->default_fw_path[sof_pdata->ipc_type], "community"); + if (!sof_pdata->fw_filename_prefix) { + ret = -ENOMEM; + goto out; + }
dev_dbg(dev, "Platform uses community key, changed fw path to %s\n", @@ -303,6 +307,10 @@ int sof_pci_probe(struct pci_dev *pci, const struct pci_device_id *pci_id) devm_kasprintf(dev, GFP_KERNEL, "%s/%s", sof_pdata->desc->default_lib_path[sof_pdata->ipc_type], "community"); + if (!sof_pdata->fw_lib_prefix) { + ret = -ENOMEM; + goto out; + }
dev_dbg(dev, "Platform uses community key, changed fw_lib path to %s\n",