• Wenwen Wang's avatar
    sound: fix a memory leak bug · c7cd7c74
    Wenwen Wang authored
    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: default avatarWenwen Wang <wenwen@cs.uga.edu>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
sound_core.c 14.3 KB