[libvirt] [PATCH 4/5] cmdDomIfAddr: Free @ip_addr_str

Michal Privoznik mprivozn at redhat.com
Tue Mar 17 16:52:56 UTC 2015


The variable holds formatted suffix to each line printed out
(address type, address and prefix). However, the variable is
never freed. At the same time, honour fact, that data held in
the variable is not constant.

Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
---
 tools/virsh-domain-monitor.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/tools/virsh-domain-monitor.c b/tools/virsh-domain-monitor.c
index 0717076..0eb1b62 100644
--- a/tools/virsh-domain-monitor.c
+++ b/tools/virsh-domain-monitor.c
@@ -2269,7 +2269,7 @@ cmdDomIfAddr(vshControl *ctl, const vshCmd *cmd)
 
     for (i = 0; i < ifaces_count; i++) {
         virDomainInterfacePtr iface = ifaces[i];
-        const char *ip_addr_str = NULL;
+        char *ip_addr_str = NULL;
         const char *type = NULL;
 
         if (interface && STRNEQ(interface, iface->name))
@@ -2308,7 +2308,7 @@ cmdDomIfAddr(vshControl *ctl, const vshCmd *cmd)
             ip_addr_str = virBufferContentAndReset(&buf);
 
             if (!ip_addr_str)
-                ip_addr_str = "";
+                ip_addr_str = vshStrdup(ctl, "");
 
             /* Don't repeat interface name */
             if (full || !j)
@@ -2320,6 +2320,7 @@ cmdDomIfAddr(vshControl *ctl, const vshCmd *cmd)
                               "-", "-", ip_addr_str);
 
             virBufferFreeAndReset(&buf);
+            VIR_FREE(ip_addr_str);
         }
     }
 
-- 
2.0.5




More information about the libvir-list mailing list