[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20221110144539.2989354-1-yebin@huaweicloud.com>
Date: Thu, 10 Nov 2022 22:45:39 +0800
From: Ye Bin <yebin@...weicloud.com>
To: perex@...ex.cz, tiwai@...e.com, alsa-devel@...a-project.org
Cc: yebin10@...wei.com, linux-kernel@...r.kernel.org
Subject: [PATCH] ALSA: hda: fix potential memleak in 'add_widget_node'
From: Ye Bin <yebin10@...wei.com>
As 'kobject_add' may allocated memory for 'kobject->name' when return error.
And in this function, if call 'kobject_add' failed didn't free kobject.
So call 'kobject_put' to recycling resources.
Signed-off-by: Ye Bin <yebin10@...wei.com>
---
sound/hda/hdac_sysfs.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/sound/hda/hdac_sysfs.c b/sound/hda/hdac_sysfs.c
index e47de49a32e3..62a9615dcf52 100644
--- a/sound/hda/hdac_sysfs.c
+++ b/sound/hda/hdac_sysfs.c
@@ -346,8 +346,10 @@ static int add_widget_node(struct kobject *parent, hda_nid_t nid,
return -ENOMEM;
kobject_init(kobj, &widget_ktype);
err = kobject_add(kobj, parent, "%02x", nid);
- if (err < 0)
+ if (err < 0) {
+ kobject_put(kobj);
return err;
+ }
err = sysfs_create_group(kobj, group);
if (err < 0) {
kobject_put(kobj);
--
2.31.1
Powered by blists - more mailing lists