[libvirt] [PATCH] Wipe nodeinfo structure before filling it

Jiri Denemark jdenemar at redhat.com
Tue Mar 9 13:54:01 UTC 2010


The nodeinfo structure wasn't initialized in qemu driver and with the
recent change in CPU topology parsing, old value of nodeinfo->sockets
could be used and incremented giving totally bogus results.

Let's just wipe the structure completely.

Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
---
 src/nodeinfo.c |    9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/nodeinfo.c b/src/nodeinfo.c
index 2dab5b2..1ee3709 100644
--- a/src/nodeinfo.c
+++ b/src/nodeinfo.c
@@ -251,18 +251,17 @@ int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo,
 
 int nodeGetInfo(virConnectPtr conn,
                 virNodeInfoPtr nodeinfo) {
+    memset(nodeinfo, 0, sizeof(*nodeinfo));
+
 #ifdef HAVE_UNAME
+    {
     struct utsname info;
 
     uname(&info);
 
     if (virStrcpyStatic(nodeinfo->model, info.machine) == NULL)
         return -1;
-
-#else /* !HAVE_UNAME */
-
-    nodeinfo->model[0] = '\0';
-
+    }
 #endif /* !HAVE_UNAME */
 
 #ifdef __linux__
-- 
1.7.0.2




More information about the libvir-list mailing list