mirror of
https://github.com/team-infusion-developers/android_kernel_samsung_msm8976.git
synced 2024-10-31 18:09:19 +00:00
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. Change-Id: I47c3baf7ad029e4c36db0540b2b0010599975256 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>
This commit is contained in:
parent
7c4c54d3e3
commit
407425bb9b
1 changed files with 2 additions and 1 deletions
|
@ -287,7 +287,8 @@ retry:
|
||||||
goto retry;
|
goto retry;
|
||||||
}
|
}
|
||||||
spin_unlock(&sound_loader_lock);
|
spin_unlock(&sound_loader_lock);
|
||||||
return -EBUSY;
|
r = -EBUSY;
|
||||||
|
goto fail;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue