Re: [PATCH] conf: convert network_conf.c to use g_auto* pointers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 6/10/20 3:51 AM, Erik Skultety wrote:
On Wed, Jun 10, 2020 at 12:16:50AM -0400, Laine Stump wrote:
This was mostly boilerplate conversion, but in one case I needed to
define several differently named char* to take the place of a single
char *tmp that was re-used multiple times, and in another place there
was a single char* that was used at the toplevel of the function, and
then later used repeatedly inside a for loop, so I defined a new
separate char* inside the loop.

Signed-off-by: Laine Stump <laine@xxxxxxxxxx>
---

This should be applied on top of Dan's IPv6 NAT patch series (it was
reviewing that series that showed me this file hadn't yet been
converted).
...

@@ -689,14 +678,12 @@ virNetworkDHCPDefParseXML(const char *networkName,
if (server &&
                  virSocketAddrParse(&inaddr, server, AF_UNSPEC) < 0) {
-                VIR_FREE(file);
-                VIR_FREE(server);
                  goto cleanup;
              }
def->bootfile = file;
+            file = NULL;
g_steal_pointer would do as well

Reviewed-by: Erik Skultety <eskultet@xxxxxxxxxx>


Well, Duh! Where was my brain while I was doing that mindless conversion??


This made me realized there's actually several places with the x = y; y = NULL; pattern associated with no-autofree'd pointers. If it's okay with you, I'll squash the following into the patch before I push it (or, if you'd prefer I can push it separately):

(Thanks for the review, BTW)

>From ba0a291015766d74eacb81104abf63a85c0690a0 Mon Sep 17 00:00:00 2001
From: Laine Stump <laine@xxxxxxxxxx>
Date: Thu, 11 Jun 2020 00:04:39 -0400
Subject: [PATCH] conf: use g_steal_pointer in network_conf.c

Signed-off-by: Laine Stump <laine@xxxxxxxxxx>
---
 src/conf/network_conf.c | 21 +++++++--------------
 1 file changed, 7 insertions(+), 14 deletions(-)

diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c
index 290111be59..538f038279 100644
--- a/src/conf/network_conf.c
+++ b/src/conf/network_conf.c
@@ -617,12 +617,9 @@ virNetworkDHCPHostDefParseXML(const char *networkName,
         cur = cur->next;
     }
 
-    host->mac = mac;
-    mac = NULL;
-    host->id = id;
-    id = NULL;
-    host->name = name;
-    name = NULL;
+    host->mac = g_steak_pointer(&mac);
+    host->id = g_steal_pointer(&id);
+    host->name = g_steal_pointer(&name);
     if (ip)
         host->ip = inaddr;
 
@@ -681,8 +678,7 @@ virNetworkDHCPDefParseXML(const char *networkName,
                 goto cleanup;
             }
 
-            def->bootfile = file;
-            file = NULL;
+            def->bootfile = g_steal_pointer(&file);
             def->bootserver = inaddr;
         }
 
@@ -1542,9 +1538,8 @@ virNetworkForwardDefParseXML(const char *networkName,
             return -1;
 
         if (forwardDev) {
-            def->ifs[0].device.dev = forwardDev;
+            def->ifs[0].device.dev = g_steal_pointer(&forwardDev);
             def->ifs[0].type = VIR_NETWORK_FORWARD_HOSTDEV_DEVICE_NETDEV;
-            forwardDev = NULL;
             def->nifs++;
         }
 
@@ -1585,8 +1580,7 @@ virNetworkForwardDefParseXML(const char *networkName,
                 }
             }
 
-            def->ifs[i].device.dev = forwardDevi;
-            forwardDevi = NULL;
+            def->ifs[i].device.dev = g_steal_pointer(&forwardDevi);
             def->ifs[i].type = VIR_NETWORK_FORWARD_HOSTDEV_DEVICE_NETDEV;
             def->nifs++;
         }
@@ -1662,8 +1656,7 @@ virNetworkForwardDefParseXML(const char *networkName,
             return -1;
         }
 
-        def->pfs->dev = forwardDev;
-        forwardDev = NULL;
+        def->pfs->dev = g_steal_pointer(&forwardDev);
         def->npfs++;
     }
 
-- 
2.25.4


[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux