Browse Source

ASoC: topology: Fix a potential memory leak in 'soc_tplg_dapm_widget_denum_create()'

If this sanity check fails, we must free the memory that has already been
allocated.

So we must go to 'err' as in the other error handling parth of this
function.

Fixes: 1a7dd6e2f192 ("ASoC: topology: Allow a widget to have multiple enum controls")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Mark Brown <broonie@kernel.org>
Christophe JAILLET 8 năm trước cách đây
mục cha
commit
f3ee9096fc
1 tập tin đã thay đổi với 1 bổ sung1 xóa
  1. 1 1
      sound/soc/soc-topology.c

+ 1 - 1
sound/soc/soc-topology.c

@@ -1301,7 +1301,7 @@ static struct snd_kcontrol_new *soc_tplg_dapm_widget_denum_create(
 		/* validate kcontrol */
 		if (strnlen(ec->hdr.name, SNDRV_CTL_ELEM_ID_NAME_MAXLEN) ==
 			    SNDRV_CTL_ELEM_ID_NAME_MAXLEN)
-			return NULL;
+			goto err;
 
 		se = kzalloc(sizeof(*se), GFP_KERNEL);
 		if (se == NULL)