ASoC: topology: Fix a potential NULL pointer dereference in 'soc_tplg_dapm_widget_denum_create()'
if 'se = kzalloc()' fails in the 'for' loop, we will branch to 'err'. But in this case, 'kc[i].private_value' will still be NULL. A NULL pointer dereference will then occur is the error handling path. In such a case, it is safe to just 'continue' in order to skip this entry and free the other ones. 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>
This commit is contained in:
parent
f5fd4a67be
commit
6d5574ed5c
@ -1378,6 +1378,9 @@ err_se:
|
||||
for (; i >= 0; i--) {
|
||||
/* free values and texts */
|
||||
se = (struct soc_enum *)kc[i].private_value;
|
||||
if (!se)
|
||||
continue;
|
||||
|
||||
kfree(se->dobj.control.dvalues);
|
||||
for (j = 0; j < ec->items; j++)
|
||||
kfree(se->dobj.control.dtexts[j]);
|
||||
|
Loading…
x
Reference in New Issue
Block a user