[PATCH] ASoC: imx-audmix: check return value of devm_kasprintf()
Shengjiu Wang
shengjiu.wang at gmail.com
Mon Jun 19 12:14:33 AEST 2023
On Wed, Jun 14, 2023 at 8:15 PM Claudiu Beznea <claudiu.beznea at microchip.com>
wrote:
> devm_kasprintf() returns a pointer to dynamically allocated memory.
> Pointer could be NULL in case allocation fails. Check pointer validity.
> Identified with coccinelle (kmerr.cocci script).
>
> Fixes: b86ef5367761 ("ASoC: fsl: Add Audio Mixer machine driver")
> Signed-off-by: Claudiu Beznea <claudiu.beznea at microchip.com>
>
Acked-by: Shengjiu Wang <shengjiu.wang at gmail.com>
Best regards
Wang shengjiu
> ---
>
> Hi,
>
> This has been addressed using kmerr.cocci script proposed for update
> at [1].
>
> Thank you,
> Claudiu Beznea
>
> [1]
> https://lore.kernel.org/all/20230530074044.1603426-1-claudiu.beznea@microchip.com/
>
> sound/soc/fsl/imx-audmix.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/sound/soc/fsl/imx-audmix.c b/sound/soc/fsl/imx-audmix.c
> index 2c57fe9d2d08..af06268ee57b 100644
> --- a/sound/soc/fsl/imx-audmix.c
> +++ b/sound/soc/fsl/imx-audmix.c
> @@ -228,6 +228,8 @@ static int imx_audmix_probe(struct platform_device
> *pdev)
>
> dai_name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "%s%s",
> fe_name_pref, args.np->full_name
> + 1);
> + if (!dai_name)
> + return -ENOMEM;
>
> dev_info(pdev->dev.parent, "DAI FE name:%s\n", dai_name);
>
> @@ -236,6 +238,8 @@ static int imx_audmix_probe(struct platform_device
> *pdev)
> capture_dai_name =
> devm_kasprintf(&pdev->dev, GFP_KERNEL, "%s
> %s",
> dai_name, "CPU-Capture");
> + if (!capture_dai_name)
> + return -ENOMEM;
> }
>
> priv->dai[i].cpus = &dlc[0];
> @@ -263,6 +267,8 @@ static int imx_audmix_probe(struct platform_device
> *pdev)
> "AUDMIX-Playback-%d", i);
> be_cp = devm_kasprintf(&pdev->dev, GFP_KERNEL,
> "AUDMIX-Capture-%d", i);
> + if (!be_name || !be_pb || !be_cp)
> + return -ENOMEM;
>
> priv->dai[num_dai + i].cpus = &dlc[2];
> priv->dai[num_dai + i].codecs = &dlc[3];
> @@ -287,6 +293,9 @@ static int imx_audmix_probe(struct platform_device
> *pdev)
> priv->dapm_routes[i].source =
> devm_kasprintf(&pdev->dev, GFP_KERNEL, "%s %s",
> dai_name, "CPU-Playback");
> + if (!priv->dapm_routes[i].source)
> + return -ENOMEM;
> +
> priv->dapm_routes[i].sink = be_pb;
> priv->dapm_routes[num_dai + i].source = be_pb;
> priv->dapm_routes[num_dai + i].sink = be_cp;
> --
> 2.34.1
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20230619/77f1bd02/attachment.htm>
More information about the Linuxppc-dev
mailing list