[alsa-devel] [bug report] ASoC: meson: axg-card: fix null pointer dereference in clean up
Jerome Brunet
jbrunet at baylibre.com
Wed Jun 19 08:58:46 CEST 2019
On Tue, 2019-06-18 at 14:07 +0300, Dan Carpenter wrote:
> Hello Jerome Brunet,
>
> The patch 960f428ca0a0: "ASoC: meson: axg-card: fix null pointer
> dereference in clean up" from Jun 10, 2019, leads to the following
> static checker warning:
>
> sound/soc/meson/axg-card.c:121 axg_card_clean_references()
> warn: address of 'link->codecs[j]' is non-NULL
>
> sound/soc/meson/axg-card.c
> 109 static void axg_card_clean_references(struct axg_card *priv)
> 110 {
> 111 struct snd_soc_card *card = &priv->card;
> 112 struct snd_soc_dai_link *link;
> 113 struct snd_soc_dai_link_component *codec;
> 114 int i, j;
> 115
> 116 if (card->dai_link) {
> 117 for_each_card_prelinks(card, i, link) {
> 118 if (link->cpus)
> 119 of_node_put(link->cpus->of_node);
> 120 for_each_link_codecs(link, j, codec)
> 121 if (codec)
> ^^^^^
> "codec" is the list iterator so it can't possibly be NULL.
Indeed, only "cpus" need a check.
Thanks for reporting this Dan
I'll post a fixup soon
>
> 122 of_node_put(codec->of_node);
> 123 }
> 124 }
> 125
> 126 if (card->aux_dev) {
> 127 for (i = 0; i < card->num_aux_devs; i++)
> 128 of_node_put(card->aux_dev[i].codec_of_node);
> 129 }
> 130
> 131 kfree(card->dai_link);
> 132 kfree(priv->link_data);
> 133 }
>
> regards,
> dan carpenter
More information about the Alsa-devel
mailing list