forked from Minki/linux
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: Ye Bin <yebin10@huawei.com> Cc: <stable@vger.kernel.org> Link: https://lore.kernel.org/r/20221110144539.2989354-1-yebin@huaweicloud.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
9736a32513
commit
9a5523f72b
@ -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);
|
||||||
|
Loading…
Reference in New Issue
Block a user