[alsa-devel] [PATCH 2/2] ASoC: simple-card: test memory allocation
Kuninori Morimoto
kuninori.morimoto.gx at renesas.com
Tue Mar 12 03:01:06 CET 2019
Hi Pierre
> >> diff --git a/sound/soc/generic/simple-card.c b/sound/soc/generic/simple-card.c
> >> index 08df261024cf..bed4fe5721a2 100644
> >> --- a/sound/soc/generic/simple-card.c
> >> +++ b/sound/soc/generic/simple-card.c
> >> @@ -715,7 +715,7 @@ static int simple_probe(struct platform_device *pdev)
> >> dai_link = devm_kcalloc(dev, li.link, sizeof(*dai_link), GFP_KERNEL);
> >> dais = devm_kcalloc(dev, li.dais, sizeof(*dais), GFP_KERNEL);
> >> cconf = devm_kcalloc(dev, li.conf, sizeof(*cconf), GFP_KERNEL);
> >> - if (!dai_props || !dai_link || !dais)
> >> + if (!dai_props || !dai_link || !dais || !cconf)
> >> return -ENOMEM;
> >
> > It isn't mentioned on code, but, "li.conf" will be 0 if it was not DPCM case.
> > This means cconf NULL might be happen.
>
>
> Humm, then don't call devm_kcalloc with a zero argument...
> And if you keep this code, if li.conf is not zero you still have a
> risk of memory allocation failure. the test should be
>
> + if (!dai_props || !dai_link || !dais || (!cconf && li.conf))
Yes, indeed.
Thank you for your feedback
Actually, I have few cleanup patches for simple-card/audio-graph
for v5.2, then, your patch and it will be conflict.
If you are OK, I can merge your patch on my patch-set with your
Signed-off-by (or Reported-by).
Is OK for you ? I will post it when -rc1 was released from Linus.
Best regards
---
Kuninori Morimoto
More information about the Alsa-devel
mailing list