| From decc27b01d584c985c231e73d3b493de6ec07af8 Mon Sep 17 00:00:00 2001 |
| From: Daniel Mack <daniel@zonque.org> |
| Date: Tue, 7 Oct 2014 13:41:23 +0200 |
| Subject: ASoC: core: fix use after free in snd_soc_remove_platform() |
| |
| From: Daniel Mack <daniel@zonque.org> |
| |
| commit decc27b01d584c985c231e73d3b493de6ec07af8 upstream. |
| |
| Coverity spotted an use-after-free condition in snd_soc_remove_platform(). |
| Fix this by moving snd_soc_component_cleanup() after the debug print |
| statement which uses the component's string. |
| |
| Signed-off-by: Daniel Mack <daniel@zonque.org> |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/soc/soc-core.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/sound/soc/soc-core.c |
| +++ b/sound/soc/soc-core.c |
| @@ -4315,10 +4315,10 @@ void snd_soc_remove_platform(struct snd_ |
| snd_soc_component_del_unlocked(&platform->component); |
| mutex_unlock(&client_mutex); |
| |
| - snd_soc_component_cleanup(&platform->component); |
| - |
| dev_dbg(platform->dev, "ASoC: Unregistered platform '%s'\n", |
| platform->component.name); |
| + |
| + snd_soc_component_cleanup(&platform->component); |
| } |
| EXPORT_SYMBOL_GPL(snd_soc_remove_platform); |
| |