[libvirt] [PATCH] fix memory leak in daemonUnixSocketPaths and qemuMonitorJSONAttachCharDevCommand

Yi Wang wang.yi59 at zte.com.cn
Sat May 27 01:10:50 UTC 2017


From: Xi Xu <xu.xi8 at zte.com.cn>

The @rundir is allocated in virGetUserRuntimeDirectory, may lost
when virFileMakePath failed.

The tlsalias allocated in qemuAliasTLSObjFromSrcAlias may lost
when append string to json.
---
 daemon/libvirtd.c            | 1 +
 src/qemu/qemu_monitor_json.c | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/daemon/libvirtd.c b/daemon/libvirtd.c
index 891238b..2447d78 100644
--- a/daemon/libvirtd.c
+++ b/daemon/libvirtd.c
@@ -288,6 +288,7 @@ daemonUnixSocketPaths(struct daemonConfig *config,
             old_umask = umask(077);
             if (virFileMakePath(rundir) < 0) {
                 umask(old_umask);
+                VIR_FREE(rundir);
                 goto error;
             }
             umask(old_umask);
diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
index 0837290..66f3f87 100644
--- a/src/qemu/qemu_monitor_json.c
+++ b/src/qemu/qemu_monitor_json.c
@@ -6481,6 +6481,8 @@ qemuMonitorJSONAttachCharDevCommand(const char *chrID,
 
             if (virJSONValueObjectAppendString(data, "tls-creds", tlsalias) < 0)
                 goto error;
+
+            VIR_FREE(tlsalias);
         }
         break;
 
-- 
1.8.3.1





More information about the libvir-list mailing list