On 6/11/20 2:59 AM, Erik Skultety wrote:
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(a)redhat.com>
>>> ---
>>>
>>> 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(a)redhat.com>
>>
> 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(a)redhat.com>
> 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(a)redhat.com>
> ---
> 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(a)redhat.com>
Heh. Hadn't even done my final smoke test yet. (That's what happens when
it's midnight and you want to get to bed, but also want to have
something in the other person's inbox for when they wake up :-)
Thanks, and don't worry, I'll be sure to run "all the tests" before I
push :-)
> + 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
>