[alsa-devel] [bug report] ASoC: rsnd: call missing snd_ctl_remove()

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Fri Dec 16 00:40:31 CET 2016


Hi Dan

Thank you for reporting about this.
I think this issue was solved by this patch which is in mark/fix/rcar

0ea617a298dcdc2251b4e10f83ac3f3e627b66e3
("ASoC: rsnd: don't double free kctrl")

> The patch d1f83d6ef43b: "ASoC: rsnd: call missing snd_ctl_remove()"
> from Feb 2, 2015, leads to the following static checker warning:
> 
> 	sound/soc/sh/rcar/core.c:1034 __rsnd_kctrl_new()
> 	error: double free of 'kctrl'
> 
> sound/soc/sh/rcar/core.c
>   1026          int ret;
>   1027  
>   1028          kctrl = snd_ctl_new1(&knew, mod);
>   1029          if (!kctrl)
>   1030                  return -ENOMEM;
>   1031  
>   1032          ret = snd_ctl_add(card, kctrl);
>   1033          if (ret < 0) {
>   1034                  snd_ctl_free_one(kctrl);
> 
> The snd_ctl_add() function frees kctrl on error.  It's a confusing
> layering violation IMHO but there are a lot of callers so I'm too lazy
> to clean this up myself...
> 
>   1035                  return ret;
>   1036          }
>   1037  
> 
> regards,
> dan carpenter


More information about the Alsa-devel mailing list