]> git.itanic.dy.fi Git - linux-stable/commit
sound: fix a memory leak bug
authorWenwen Wang <wenwen@cs.uga.edu>
Thu, 8 Aug 2019 05:15:21 +0000 (00:15 -0500)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 22 Nov 2019 15:57:13 +0000 (15:57 +0000)
commita81c4add9f2966cb2b17406cd62e58a435a95b57
tree2a306306c8df39c3edce56fe4481533da928c88e
parent8e4e88ef41fe4246e731182bb493236b025e30e3
sound: fix a memory leak bug

commit c7cd7c748a3250ca33509f9235efab9c803aca09 upstream.

In sound_insert_unit(), the controlling structure 's' is allocated through
kmalloc(). Then it is added to the sound driver list by invoking
__sound_insert_unit(). Later on, if __register_chrdev() fails, 's' is
removed from the list through __sound_remove_unit(). If 'index' is not less
than 0, -EBUSY is returned to indicate the error. However, 's' is not
deallocated on this execution path, leading to a memory leak bug.

To fix the above issue, free 's' before -EBUSY is returned.

Signed-off-by: Wenwen Wang <wenwen@cs.uga.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
sound/sound_core.c