diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2021-01-20 10:59:13 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2021-01-20 17:46:48 +0100 |
commit | 543466ef3571069b8eb13a8ff7c7cfc8d8a75c43 (patch) | |
tree | cce3b4c167743b9db858cbbcdce2a6c70b4bd9fa | |
parent | ASoC: qcom: lpass-ipq806x: fix bitwidth regmap field (diff) | |
download | linux-543466ef3571069b8eb13a8ff7c7cfc8d8a75c43.tar.xz linux-543466ef3571069b8eb13a8ff7c7cfc8d8a75c43.zip |
ASoC: topology: Fix memory corruption in soc_tplg_denum_create_values()
The allocation uses sizeof(u32) when it should use sizeof(unsigned long)
so it leads to memory corruption later in the function when the data is
initialized.
Fixes: 5aebe7c7f9c2 ("ASoC: topology: fix endianness issues")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/YAf+8QZoOv+ct526@mwanda
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | sound/soc/soc-topology.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/soc/soc-topology.c b/sound/soc/soc-topology.c index 950c45008e24..37a5d73e643b 100644 --- a/sound/soc/soc-topology.c +++ b/sound/soc/soc-topology.c @@ -902,7 +902,7 @@ static int soc_tplg_denum_create_values(struct soc_tplg *tplg, struct soc_enum * return -EINVAL; se->dobj.control.dvalues = devm_kcalloc(tplg->dev, le32_to_cpu(ec->items), - sizeof(u32), + sizeof(*se->dobj.control.dvalues), GFP_KERNEL); if (!se->dobj.control.dvalues) return -ENOMEM; |