diff options
author | Kamil Duljas <kamil.duljas@gmail.com> | 2023-11-17 01:41:13 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2023-11-17 15:47:51 +0300 |
commit | f8ba14b780273fd290ddf7ee0d7d7decb44cc365 (patch) | |
tree | 6ad43295ed2fdff701d63b11e5e857c56aa7179d /sound | |
parent | 31e721fbd194d5723722eaa21df1d14cee7e12b5 (diff) | |
download | linux-f8ba14b780273fd290ddf7ee0d7d7decb44cc365.tar.xz |
ASoC: Intel: Skylake: mem leak in skl register function
skl_platform_register() uses krealloc. When krealloc is fail,
then previous memory is not freed. The leak is also when soc
component registration failed.
Signed-off-by: Kamil Duljas <kamil.duljas@gmail.com>
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Link: https://lore.kernel.org/r/20231116224112.2209-2-kamil.duljas@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/intel/skylake/skl-pcm.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/soc/intel/skylake/skl-pcm.c b/sound/soc/intel/skylake/skl-pcm.c index 18866bc415a5..174aae6e0398 100644 --- a/sound/soc/intel/skylake/skl-pcm.c +++ b/sound/soc/intel/skylake/skl-pcm.c @@ -1464,6 +1464,7 @@ int skl_platform_register(struct device *dev) dais = krealloc(skl->dais, sizeof(skl_fe_dai) + sizeof(skl_platform_dai), GFP_KERNEL); if (!dais) { + kfree(skl->dais); ret = -ENOMEM; goto err; } @@ -1476,8 +1477,10 @@ int skl_platform_register(struct device *dev) ret = devm_snd_soc_register_component(dev, &skl_component, skl->dais, num_dais); - if (ret) + if (ret) { + kfree(skl->dais); dev_err(dev, "soc component registration failed %d\n", ret); + } err: return ret; } |