devm_kasprintf() returns NULL when memory allocation fails. Currently,
imx_card_probe() does not check for this case, which results in a NULL
pointer dereference.

Add NULL check after devm_kasprintf() to prevent this issue.

Fixes: aa736700f42f ("ASoC: imx-card: Add imx-card machine driver")
Signed-off-by: Henry Martin <bsdhenrymar...@gmail.com>
---
 sound/soc/fsl/imx-card.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/sound/soc/fsl/imx-card.c b/sound/soc/fsl/imx-card.c
index 905294682996..3686d468506b 100644
--- a/sound/soc/fsl/imx-card.c
+++ b/sound/soc/fsl/imx-card.c
@@ -772,6 +772,8 @@ static int imx_card_probe(struct platform_device *pdev)
                                data->dapm_routes[i].sink =
                                        devm_kasprintf(&pdev->dev, GFP_KERNEL, 
"%d %s",
                                                       i + 1, "Playback");
+                               if (!data->dapm_routes[i].sink)
+                                       return -ENOMEM;
                                data->dapm_routes[i].source = "CPU-Playback";
                        }
                }
@@ -789,6 +791,8 @@ static int imx_card_probe(struct platform_device *pdev)
                                data->dapm_routes[i].source =
                                        devm_kasprintf(&pdev->dev, GFP_KERNEL, 
"%d %s",
                                                       i + 1, "Capture");
+                               if (!data->dapm_routes[i].source)
+                                       return -ENOMEM;
                                data->dapm_routes[i].sink = "CPU-Capture";
                        }
                }
-- 
2.34.1


Reply via email to