[libvirt] [PATCH] free memory properly in cleanup patch

Hu Tao hutao at cn.fujitsu.com
Tue Apr 26 01:20:31 UTC 2011


virsh schedinfo inactive-domain will trigger the problem.
---
 daemon/remote.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/daemon/remote.c b/daemon/remote.c
index 1c98bba..eedbc77 100644
--- a/daemon/remote.c
+++ b/daemon/remote.c
@@ -945,8 +945,11 @@ remoteDispatchDomainGetSchedulerParameters(struct qemud_server *server ATTRIBUTE
 cleanup:
     if (rv < 0) {
         remoteDispatchError(rerr);
-        for (i = 0 ; i < nparams ; i++)
-            VIR_FREE(ret->params.params_val[i].field);
+        if (ret->params.params_val) {
+            for (i = 0 ; i < nparams ; i++)
+                VIR_FREE(ret->params.params_val[i].field);
+            VIR_FREE(ret->params.params_val);
+        }
     }
     if (dom)
         virDomainFree(dom);
-- 
1.7.3.1




More information about the libvir-list mailing list