Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c3421a6a authored by Liam Girdwood's avatar Liam Girdwood Committed by Mark Brown
Browse files

ASoC: topology: Dont free template strings whilst they are in use.



Template name pointers are copied when creating new widgets and are freed
in widget destroy.

Signed-off-by: default avatarLiam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent cc9d4714
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -1477,6 +1477,7 @@ static int soc_tplg_dapm_widget_create(struct soc_tplg *tplg,
	if (template.id < 0)
		return template.id;

	/* strings are allocated here, but used and freed by the widget */
	template.name = kstrdup(w->name, GFP_KERNEL);
	if (!template.name)
		return -ENOMEM;
@@ -1589,8 +1590,6 @@ static int soc_tplg_dapm_widget_create(struct soc_tplg *tplg,
	widget->dobj.widget.kcontrol_type = kcontrol_type;
	widget->dobj.ops = tplg->ops;
	widget->dobj.index = tplg->index;
	kfree(template.sname);
	kfree(template.name);
	list_add(&widget->dobj.list, &tplg->comp->dobj_list);

	ret = soc_tplg_widget_ready(tplg, widget, w);