]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: fix leak when parsing network port XML
authorDaniel P. Berrangé <berrange@redhat.com>
Tue, 18 Jun 2019 17:29:26 +0000 (18:29 +0100)
committerDaniel P. Berrangé <berrange@redhat.com>
Wed, 19 Jun 2019 07:47:00 +0000 (08:47 +0100)
Use auto free to avoid leaking the "trustGuestRxFilters" strings

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
src/conf/virnetworkportdef.c

index 379411e08833e643652721be5fe3261a267e7842..5dfa3a358387fe931549c61be915d71d599aa92c 100644 (file)
@@ -76,19 +76,19 @@ static virNetworkPortDefPtr
 virNetworkPortDefParseXML(xmlXPathContextPtr ctxt)
 {
     virNetworkPortDefPtr def;
-    char *uuid = NULL;
+    VIR_AUTOFREE(char *) uuid = NULL;
     xmlNodePtr virtPortNode;
     xmlNodePtr vlanNode;
     xmlNodePtr bandwidthNode;
     xmlNodePtr addressNode;
-    char *trustGuestRxFilters = NULL;
-    char *mac = NULL;
-    char *macmgr = NULL;
-    char *mode = NULL;
-    char *plugtype = NULL;
-    char *managed = NULL;
-    char *driver = NULL;
-    char *class_id = NULL;
+    VIR_AUTOFREE(char *) trustGuestRxFilters = NULL;
+    VIR_AUTOFREE(char *) mac = NULL;
+    VIR_AUTOFREE(char *) macmgr = NULL;
+    VIR_AUTOFREE(char *) mode = NULL;
+    VIR_AUTOFREE(char *) plugtype = NULL;
+    VIR_AUTOFREE(char *) managed = NULL;
+    VIR_AUTOFREE(char *) driver = NULL;
+    VIR_AUTOFREE(char *) class_id = NULL;
 
     if (VIR_ALLOC(def) < 0)
         return NULL;
@@ -255,14 +255,6 @@ virNetworkPortDefParseXML(xmlXPathContextPtr ctxt)
     }
 
  cleanup:
-    VIR_FREE(class_id);
-    VIR_FREE(uuid);
-    VIR_FREE(plugtype);
-    VIR_FREE(mac);
-    VIR_FREE(mode);
-    VIR_FREE(macmgr);
-    VIR_FREE(driver);
-    VIR_FREE(managed);
     return def;
 
  error: