From: Gonglei <arei.gong...@huawei.com> Variable "conf" going out of scope leaks the storage it points to in line 856.
Signed-off-by: Gonglei <arei.gong...@huawei.com> --- v2: using an better way to avoid memory leak. (Markus) --- audio/ossaudio.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/audio/ossaudio.c b/audio/ossaudio.c index 11e76a1..94b473b 100644 --- a/audio/ossaudio.c +++ b/audio/ossaudio.c @@ -848,14 +848,11 @@ static OSSConf glob_conf = { static void *oss_audio_init (void) { - OSSConf *conf = g_malloc(sizeof(OSSConf)); - *conf = glob_conf; - - if (access(conf->devpath_in, R_OK | W_OK) < 0 || - access(conf->devpath_out, R_OK | W_OK) < 0) { + if (access(glob_conf.devpath_in, R_OK | W_OK) < 0 || + access(glob_conf.devpath_out, R_OK | W_OK) < 0) { return NULL; } - return conf; + return g_memdup(&glob_conf, sizeof(glob_conf)); } static void oss_audio_fini (void *opaque) -- 1.7.12.4