| From 293c6c0fa278e77f17b81bf4b2dda2adcbbd141f Mon Sep 17 00:00:00 2001 |
| From: Colin Ian King <colin.king@canonical.com> |
| Date: Thu, 8 Dec 2016 13:05:43 +0000 |
| Subject: [PATCH 083/299] ASoC: rsnd: don't double free kctrl |
| |
| On an error, snd_ctl_add already free's kctrl, so calling snd_ctl_free_one |
| to free it again leads to a double free error. Fix this by removing |
| the extraneous snd_ctl_free_one call. |
| |
| Issue found using static analysis with CoverityScan, CID 1372908 |
| |
| Signed-off-by: Colin Ian King <colin.king@canonical.com> |
| Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| (cherry picked from commit 0ea617a298dcdc2251b4e10f83ac3f3e627b66e3) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| sound/soc/sh/rcar/core.c | 4 +--- |
| 1 file changed, 1 insertion(+), 3 deletions(-) |
| |
| --- a/sound/soc/sh/rcar/core.c |
| +++ b/sound/soc/sh/rcar/core.c |
| @@ -1030,10 +1030,8 @@ static int __rsnd_kctrl_new(struct rsnd_ |
| return -ENOMEM; |
| |
| ret = snd_ctl_add(card, kctrl); |
| - if (ret < 0) { |
| - snd_ctl_free_one(kctrl); |
| + if (ret < 0) |
| return ret; |
| - } |
| |
| cfg->update = update; |
| cfg->card = card; |