Commit 9a5523f7 authored by Ye Bin's avatar Ye Bin Committed by Takashi Iwai

ALSA: hda: fix potential memleak in 'add_widget_node'

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: default avatarYe Bin <yebin10@huawei.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20221110144539.2989354-1-yebin@huaweicloud.comSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 9736a325
...@@ -346,8 +346,10 @@ static int add_widget_node(struct kobject *parent, hda_nid_t nid, ...@@ -346,8 +346,10 @@ static int add_widget_node(struct kobject *parent, hda_nid_t nid,
return -ENOMEM; return -ENOMEM;
kobject_init(kobj, &widget_ktype); kobject_init(kobj, &widget_ktype);
err = kobject_add(kobj, parent, "%02x", nid); err = kobject_add(kobj, parent, "%02x", nid);
if (err < 0) if (err < 0) {
kobject_put(kobj);
return err; return err;
}
err = sysfs_create_group(kobj, group); err = sysfs_create_group(kobj, group);
if (err < 0) { if (err < 0) {
kobject_put(kobj); kobject_put(kobj);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment