summaryrefslogtreecommitdiffstats
path: root/0001-ASoC-SOF-ipc-Fix-memory-leak-in-sof_set_get_large_ct.patch
diff options
context:
space:
mode:
Diffstat (limited to '0001-ASoC-SOF-ipc-Fix-memory-leak-in-sof_set_get_large_ct.patch')
-rw-r--r--0001-ASoC-SOF-ipc-Fix-memory-leak-in-sof_set_get_large_ct.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/0001-ASoC-SOF-ipc-Fix-memory-leak-in-sof_set_get_large_ct.patch b/0001-ASoC-SOF-ipc-Fix-memory-leak-in-sof_set_get_large_ct.patch
new file mode 100644
index 000000000..2ebcb13ab
--- /dev/null
+++ b/0001-ASoC-SOF-ipc-Fix-memory-leak-in-sof_set_get_large_ct.patch
@@ -0,0 +1,37 @@
+From 45c1380358b12bf2d1db20a5874e9544f56b34ab Mon Sep 17 00:00:00 2001
+From: Navid Emamdoost <navid.emamdoost@gmail.com>
+Date: Sun, 27 Oct 2019 16:53:24 -0500
+Subject: [PATCH] ASoC: SOF: ipc: Fix memory leak in
+ sof_set_get_large_ctrl_data
+
+In the implementation of sof_set_get_large_ctrl_data() there is a memory
+leak in case an error. Release partdata if sof_get_ctrl_copy_params()
+fails.
+
+Fixes: 54d198d5019d ("ASoC: SOF: Propagate sof_get_ctrl_copy_params() error properly")
+Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com>
+Link: https://lore.kernel.org/r/20191027215330.12729-1-navid.emamdoost@gmail.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+---
+ sound/soc/sof/ipc.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/sound/soc/sof/ipc.c b/sound/soc/sof/ipc.c
+index b2f359d2f7e5..086eeeab8679 100644
+--- a/sound/soc/sof/ipc.c
++++ b/sound/soc/sof/ipc.c
+@@ -572,8 +572,10 @@ static int sof_set_get_large_ctrl_data(struct snd_sof_dev *sdev,
+ else
+ err = sof_get_ctrl_copy_params(cdata->type, partdata, cdata,
+ sparams);
+- if (err < 0)
++ if (err < 0) {
++ kfree(partdata);
+ return err;
++ }
+
+ msg_bytes = sparams->msg_bytes;
+ pl_size = sparams->pl_size;
+--
+2.23.0
+