Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b688a3ec authored by Ye Bin's avatar Ye Bin Committed by Greg Kroah-Hartman
Browse files

ALSA: hda: fix potential memleak in 'add_widget_node'



commit 9a5523f72bd2b0d66eef3d58810c6eb7b5ffc143 upstream.

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.com


Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 9f288e33
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -345,8 +345,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);