[libvirt] [PATCH] conf: fix memory leak in virNodeDevPCICapSRIOVVirtualParseXML

Xu Yandong xuyandong2 at huawei.com
Thu Sep 19 08:01:31 UTC 2019


In function virNodeDevPCICapSRIOVVirtualParseXML, temp variable
addr could leak if VIR_APPEND_ELEMENT fails .

Signed-off-by: Xu Yandong <xuyandong2 at huawei.com>
---
 src/conf/node_device_conf.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c
index 618ce8e00e..2d8e03e53e 100644
--- a/src/conf/node_device_conf.c
+++ b/src/conf/node_device_conf.c
@@ -1519,8 +1519,10 @@ virNodeDevPCICapSRIOVVirtualParseXML(xmlXPathContextPtr ctxt,
 
         if (VIR_APPEND_ELEMENT(pci_dev->virtual_functions,
                                pci_dev->num_virtual_functions,
-                               addr) < 0)
+                               addr) < 0) {
+            VIR_FREE(addr);
             goto cleanup;
+        }
     }
 
     pci_dev->flags |= VIR_NODE_DEV_CAP_FLAG_PCI_VIRTUAL_FUNCTION;
-- 
2.18.1




More information about the libvir-list mailing list