diff mbox

ASoC: Intel: Skylake: fix memory leak of module on error exit path

Message ID 20160929173212.13700-1-colin.king@canonical.com (mailing list archive)
State Accepted
Commit 0730bd2e2ade00d88647b13a0c17cde254ddf56e
Headers show

Commit Message

Colin King Sept. 29, 2016, 5:32 p.m. UTC
From: Colin Ian King <colin.king@canonical.com>

Currently there is a memory leak of module on a ENOMEM return path.
Fix this by kfree'ing module before returning.

Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 sound/soc/intel/skylake/skl-sst-utils.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
diff mbox

Patch

diff --git a/sound/soc/intel/skylake/skl-sst-utils.c b/sound/soc/intel/skylake/skl-sst-utils.c
index d3120ba..8dc0303 100644
--- a/sound/soc/intel/skylake/skl-sst-utils.c
+++ b/sound/soc/intel/skylake/skl-sst-utils.c
@@ -354,8 +354,10 @@  int snd_skl_parse_uuids(struct sst_dsp *ctx, const struct firmware *fw,
 		module->max_instance = mod_entry->instance_max_count;
 		size = sizeof(int) * mod_entry->instance_max_count;
 		module->instance_id = devm_kzalloc(ctx->dev, size, GFP_KERNEL);
-		if (!module->instance_id)
+		if (!module->instance_id) {
+			kfree(module);
 			return -ENOMEM;
+		}
 
 		list_add_tail(&module->list, &skl->uuid_list);