[libvirt] [PATCH 03/42] rpc: Use g_autofree on virNetClientNewLibSSH2()
Daniel Henrique Barboza
danielhb413 at gmail.com
Thu Dec 19 23:30:49 UTC 2019
On 12/19/19 7:17 PM, Fabiano Fidêncio wrote:
> On Thu, Dec 19, 2019 at 8:00 PM Daniel Henrique Barboza
> <danielhb413 at gmail.com> wrote:
>>
>>
>>
>> On 12/19/19 7:04 AM, Fabiano Fidêncio wrote:
>>> Signed-off-by: Fabiano Fidêncio <fidencio at redhat.com>
>>> ---
>>> src/rpc/virnetclient.c | 18 ++++++------------
>>> 1 file changed, 6 insertions(+), 12 deletions(-)
>>>
>> [...]
>>
>>> if (knownHostsPath) {
>>> @@ -517,12 +517,6 @@ virNetClientPtr virNetClientNewLibSSH2(const char *host,
>>> goto cleanup;
>>>
>>> cleanup:
>>> - VIR_FREE(command);
>>> - VIR_FREE(privkey);
>>> - VIR_FREE(knownhosts);
>>> - VIR_FREE(homedir);
>>> - VIR_FREE(confdir);
>>> - VIR_FREE(nc);
>>> return ret;
>>>
>>
>> This will leave a now unneeded 'cleanup' label:
>>
>> cleanup:
>> return ret;
>>
>>
>> In a quick glance at the patch series I noticed that Patch 41 also leaves
>> an unused 'cleanup' label as well after the changes.
>
> Daniel,
>
> Please, take a look at the no_memory label. It calls the cleanup one.
I am afraid I wasn't clear. By 'unneeded' I mean a label that is a simply 'return'
call. 'cleanup' is doing no cleanups anymore. So this this guy:
no_memory:
virReportOOMError();
goto cleanup;
turns into:
no_memory:
virReportOOMError();
return ret;
And in fact, since ret is initialized with NULL, and it will never be set before
a no_memory jump, you can even do:
no_memory:
virReportOOMError();
return NULL;
All 'cleanup' jumps can be changed to 'return NULL' and the line that sets 'ret'
can turn into
return virNetClientNew(sock, NULL));
And you can get rid of both the 'cleanup' label and the 'ret' variable.
All of this is just me being pedantic though :) I saw that you erased some
'exit' labels in other patches and wanted to point out that this label is
also removable. In the end I believe you can keep this patch just adding
g_autofree and removing VIR_FREE calls and, if you want, remove these labels
in a separated patch.
Thanks,
DHB
>
> Best Regards,
>
More information about the libvir-list
mailing list