ASoC: topology: Fix memory leak from soc_tplg_denum_create_texts
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@intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Родитель
a46e8393d1
Коммит
34db6a3e91
|
@ -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 @@ err_se:
|
|||
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);
|
||||
|
|
Загрузка…
Ссылка в новой задаче