[libvirt] [PATCH 2/2] networkStartNetworkVirtual: Don't leak macmap object

Michal Privoznik mprivozn at redhat.com
Mon Aug 13 09:21:45 UTC 2018


When starting network a macmap object is created (which stores
MAC -> domain name mappings). However, if something goes wrong
(e.g. virNetDevIPCheckIPv6Forwarding() fails) then the object is
leaked.

Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
---
 src/network/bridge_driver.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
index f92cc61e47..588b0d147d 100644
--- a/src/network/bridge_driver.c
+++ b/src/network/bridge_driver.c
@@ -2453,6 +2453,7 @@ networkStartNetworkVirtual(virNetworkDriverStatePtr driver,
         goto err1;
 
     virNetworkObjSetMacMap(obj, macmap);
+    macmap = NULL;
 
     /* Set bridge options */
 
@@ -2590,6 +2591,7 @@ networkStartNetworkVirtual(virNetworkDriverStatePtr driver,
         ignore_value(virNetDevTapDelete(macTapIfName, NULL));
         VIR_FREE(macTapIfName);
     }
+    virNetworkObjUnrefMacMap(obj);
     VIR_FREE(macMapFile);
 
  err0:
-- 
2.16.4




More information about the libvir-list mailing list