qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-trivial] [PATCH v2] ossaudio: fix memory leak


From: arei.gonglei
Subject: [Qemu-trivial] [PATCH v2] ossaudio: fix memory leak
Date: Wed, 24 Jun 2015 17:18:17 +0800

From: Gonglei <address@hidden>

Variable "conf" going out of scope leaks the storage
it points to in line 856.

Signed-off-by: Gonglei <address@hidden>
---
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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]