On Thu, Jun 11, 2020 at 12:09:34AM -0400, Laine Stump wrote: > 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): Yeah, looking at the diff, it would be better to push it in a separate patch. > 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); s/steak/steal Reviewed-by: Erik Skultety <eskultet@xxxxxxxxxx> > + 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 >