[alsa-devel] [PATCH 3/7] ASoC: topology: Fix memory leak from soc_tplg_denum_create_texts
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Fri Jan 25 21:06:44 CET 2019
From: Amadeusz Sławiński <amadeuszx.slawinski at intel.com>
dtexts is two dimensional array, so we also need to free it after
freeing its fields.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski at intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart at linux.intel.com>
---
sound/soc/soc-topology.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/sound/soc/soc-topology.c b/sound/soc/soc-topology.c
index abc2d804d5bf..71bc5b8a9bd3 100644
--- a/sound/soc/soc-topology.c
+++ b/sound/soc/soc-topology.c
@@ -410,6 +410,7 @@ static void remove_enum(struct snd_soc_component *comp,
kfree(dobj->control.dvalues);
for (i = 0; i < se->items; i++)
kfree(dobj->control.dtexts[i]);
+ kfree(dobj->control.dtexts);
kfree(se);
}
@@ -467,6 +468,7 @@ static void remove_widget(struct snd_soc_component *comp,
kfree(dobj->control.dvalues);
for (j = 0; j < se->items; j++)
kfree(dobj->control.dtexts[j]);
+ kfree(dobj->control.dtexts);
kfree(se);
kfree(w->kcontrol_news[i].name);
@@ -1361,6 +1363,7 @@ static struct snd_kcontrol_new *soc_tplg_dapm_widget_denum_create(
kfree(se->dobj.control.dvalues);
for (j = 0; j < ec->items; j++)
kfree(se->dobj.control.dtexts[j]);
+ kfree(se->dobj.control.dtexts);
kfree(se);
kfree(kc[i].name);
--
2.17.1
More information about the Alsa-devel
mailing list