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 <[email protected]>
---
 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

--
libvir-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to