]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virNetworkObjSetMacMap: take double pointer of @macmap
authorMichal Privoznik <mprivozn@redhat.com>
Tue, 9 Aug 2022 09:38:43 +0000 (11:38 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Tue, 9 Aug 2022 15:35:11 +0000 (17:35 +0200)
The virNetworkObjSetMacMap() API effectively steals passed
@macmap argument. However, the argument is a plain, first order
pointer. This requires every caller to set the argument to NULL
after the function was called. Let's make the function take
double pointer instead to make it obvious that the argument is
consumed.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/conf/virnetworkobj.c
src/conf/virnetworkobj.h
src/network/bridge_driver.c

index 46b499db58129f9aa78c3716432f6829114d4cb3..cc3b93db6d61e747977357539efa4eecb5796fa3 100644 (file)
@@ -240,9 +240,9 @@ virNetworkObjSetFloorSum(virNetworkObj *obj,
 
 void
 virNetworkObjSetMacMap(virNetworkObj *obj,
-                       virMacMap *macmap)
+                       virMacMap **macmap)
 {
-    obj->macmap = macmap;
+    obj->macmap = g_steal_pointer(macmap);
 }
 
 
index fadd277cbd9ce776c82d4d8f2e471b3d6a0ca4d1..7d34fa32041b23b364927ea58c048f582fd9c544 100644 (file)
@@ -78,7 +78,7 @@ virNetworkObjSetFloorSum(virNetworkObj *obj,
 
 void
 virNetworkObjSetMacMap(virNetworkObj *obj,
-                       virMacMap *macmap);
+                       virMacMap **macmap);
 
 void
 virNetworkObjUnrefMacMap(virNetworkObj *obj);
index a07af553907842388b2682cb9104c8da8bbffabf..024487b359cd71529886e75bc9ab0ab0d9f5bd98 100644 (file)
@@ -475,8 +475,7 @@ networkUpdateState(virNetworkObj *obj,
         if (!(macmap = virMacMapNew(macMapFile)))
             return -1;
 
-        virNetworkObjSetMacMap(obj, macmap);
-        macmap = NULL;
+        virNetworkObjSetMacMap(obj, &macmap);
 
         break;
 
@@ -1972,8 +1971,7 @@ networkStartNetworkVirtual(virNetworkDriverState *driver,
         !(macmap = virMacMapNew(macMapFile)))
         goto error;
 
-    virNetworkObjSetMacMap(obj, macmap);
-    macmap = NULL;
+    virNetworkObjSetMacMap(obj, &macmap);
 
     /* Set bridge options */