[PATCH 00/32] always use g_auto() for virBuffer and virFirewall objects

Like most other things I do, this started as a distraction from something else. I noticed that a function that took a virBufferPtr as an argument was clearing that buffer on error, but most (but *not all*) of its callers (which were the creators/owners of said virBuffer) were already clearing the buffer object on error anyway. Here's the original patch resulting from my seeing this in one place: https://www.redhat.com/archives/libvir-list/2020-June/msg01163.html In the example I saw, eliminating the extra clearing of the virBuffer in the subordinate function would simplify the error-cleanup code for that function, but it turned out the calling function *wasn't* clearing the virBuffer when an error occurred. Looking further, I saw this same pattern occurred in other places in the code - a function would create a new buffer (with "virBuffer buf = VIR_BUFFER_INITIALIZER;"), and clear/free that buffer when it was finished *unless there was an error*, in which case some functions would properly clear the buffer, and some would just return, I guess assuming the caller that generated the error had cleared the buffer. This not only makes the error cleanup logic in subordinate functions messier, it seems philosophically wrong to me, it also sounds like a memory leak just waiting to happen. So I decided that the way it should more properly work is this: 1) all virBuffers should be declared with g_auto(virBuffer), so that they are automatically cleared (with virBufferFreeAndReset()) when that toplevel function declaring/initializing the buffer returns to its caller. 2) subordinate functions called with the virBuffer object as an arg should just leave the buffer in whatever state it was when the error occurred. Since those functions don't use the virBuffer after the error happens, and the caller doesn't look at anything in the virBuffer to determine an error has occurred, this is completely safe. (obvious exceptions to (2) are of course those functions whose main intent is in fact to consume the virBuffer, e.g. virBufferContentAndReset(), and virCommandAddArgBuffer()) Patches 01 - 15 handle part (1) - *all* declarations of virBuffer as an automatic are changed to g_auto(virBuffer), and any virBufferFreeAndReset() calls in those same functions are removed. (I have it split into so many patches because virBuffer is used all over the place, and I figured it would make it easier to backport just one part of the entire set if needed when backported some unrelated bugfix that only touched one of the many directories represented here. I would happily squash together any group of patches anyone wants, however). Patches 16 and 17 fix a couple "one-off" anomolies in the code related to virBuffers. Patch 18 then takes care of point (2) above, by removing any extraneous virBufferFreeAndReset() calls in subordinate functions that are no longer necessary due to the guarantee that the toplevel will cleanup after error. Patches 19-30 just eliminate any labels (and associated "ret" variables and "goto's) that have been rendered pointless by removal of virBufferFreeAndReset(). Finally Patches 31 and 32 convert all usages of virFirewall to use g_autoptr(). They are included in this same set because virFirewall objects are often declared right next to virBuffer objects, so doing those patches in a different order would have caused merge conflicts.. NB: In many of the cases where "virBuffer" was changed to "g_auto(virBuffer)", it doesn't actually eliminate any code from the function, due to the function *always* calling virBufferContentAndReset() anyway. I considered not changing those cases, but in the ended decided it was better to add g_auto() even in those cases for two reasons: 1) consistency makes verification easier, and means someone a year from now won't come up with the same idea and waste time verifying all those cases of virBuffer don't need g_auto(). 2) if those functions ever change to have an alternate return that doesn't explicitly call virBufferContentAndReset(), they will still be safe. 3) the extra overhead is very minimal; a small price to pay for (1) and (2) NB2: these patches aren't just academic code churning; they have fixed some actual (well, theoretically actual) memory leaks, I just haven't taken the time to try and track all of them down or document them, because they only occur in error cases which will likely never happen. One example from my notes: virStoragePoolSaveState calls virStoragePoolDefFormatBuf which calls virStoragePoolSourceFormat, which errors, returns virStoragePoolDefFormatBuf, returns virStoragePoolSaveState returns without freeing virBuffer Laine Stump (32): bhyve: use g_auto() for all virBuffers esx: use g_auto() for all virBuffers hyperv: use g_auto() for all virBuffers libxl: use g_auto() for all virBuffers lxc: use g_auto() for all virBuffers qemu: use g_auto() for all virBuffers tests: use g_auto for all virBuffers tools: use g_auto() for all virBuffers conf: use g_auto() for all virBuffers util: use g_auto() for all virBuffers cpu: use g_auto() for all virBuffers rpc: use g_auto() for all virBuffers nwfilter: use g_auto() for all virBuffers network: use g_auto() for all virBuffers use g_auto() for all remaining non-g_auto() virBuffers qemu: remove unnecessary virBufferFreeAndReset() after virCommandAddArgBuffer() conf: consistently check for error when calling virSysinfoFormat() remove redundant calls to virBufferFreeAndReset() libxml: eliminate extra copy of string bhyve: eliminate unnecessary labels conf: eliminate unnecessary labels libxl: eliminate unnecessary labels util: eliminate unnecessary labels tests: eliminate unnecessary labels tools: eliminate unnecessary labels network: eliminate unnecessary labels lxc: eliminate unnecessary labels esx: eliminate unnecessary labels nwfilter: eliminate unnecessary labels storage: eliminate unnecessary labels use g_autoptr() for all usages of virFirewallNew/Free eliminate unnecessary labels and ret variables src/bhyve/bhyve_command.c | 40 +++--- src/bhyve/bhyve_driver.c | 4 +- src/conf/capabilities.c | 13 +- src/conf/checkpoint_conf.c | 11 +- src/conf/cpu_conf.c | 27 ++-- src/conf/domain_addr.c | 2 +- src/conf/domain_capabilities.c | 2 +- src/conf/domain_conf.c | 105 +++++++------- src/conf/interface_conf.c | 7 +- src/conf/network_conf.c | 8 +- src/conf/node_device_conf.c | 2 +- src/conf/nwfilter_conf.c | 12 +- src/conf/secret_conf.c | 8 +- src/conf/snapshot_conf.c | 14 +- src/conf/storage_capabilities.c | 6 +- src/conf/storage_conf.c | 28 ++-- src/conf/virnetworkobj.c | 10 +- src/conf/virnetworkportdef.c | 6 +- src/conf/virnwfilterbindingdef.c | 6 +- src/conf/virnwfilterbindingobj.c | 6 +- src/conf/virsavecookie.c | 8 +- src/cpu/cpu_map.c | 2 +- src/cpu/cpu_x86.c | 6 +- src/esx/esx_driver.c | 19 +-- src/esx/esx_util.c | 4 +- src/esx/esx_vi.c | 28 ++-- src/esx/esx_vi_methods.c | 6 +- src/hyperv/hyperv_driver.c | 34 +++-- src/hyperv/hyperv_wmi.c | 11 +- src/hypervisor/domain_driver.c | 7 +- src/libxl/libxl_conf.c | 19 +-- src/libxl/libxl_driver.c | 2 +- src/libxl/libxl_migration.c | 2 +- src/libxl/xen_common.c | 28 ++-- src/libxl/xen_xl.c | 45 ++---- src/libxl/xen_xm.c | 10 +- src/locking/lock_driver_sanlock.c | 2 +- src/lxc/lxc_container.c | 4 +- src/lxc/lxc_controller.c | 12 +- src/lxc/lxc_driver.c | 2 +- src/lxc/lxc_fuse.c | 3 +- src/network/bridge_driver.c | 25 ++-- src/network/bridge_driver_linux.c | 36 ++--- src/node_device/node_device_udev.c | 2 +- src/nwfilter/nwfilter_ebiptables_driver.c | 160 +++++++++------------- src/nwfilter/nwfilter_gentech_driver.c | 6 +- src/nwfilter/nwfilter_learnipaddr.c | 2 +- src/openvz/openvz_driver.c | 5 +- src/qemu/qemu_agent.c | 2 +- src/qemu/qemu_block.c | 2 +- src/qemu/qemu_capabilities.c | 2 +- src/qemu/qemu_command.c | 5 +- src/qemu/qemu_dbus.c | 2 +- src/qemu/qemu_domain.c | 4 +- src/qemu/qemu_driver.c | 5 +- src/qemu/qemu_migration.c | 2 +- src/qemu/qemu_migration_cookie.c | 6 +- src/qemu/qemu_monitor.c | 2 +- src/rpc/virnetclient.c | 4 +- src/rpc/virnetlibsshsession.c | 7 +- src/rpc/virnetsocket.c | 2 +- src/rpc/virnetsshsession.c | 2 +- src/security/virt-aa-helper.c | 4 +- src/storage/storage_backend_rbd.c | 7 +- src/storage/storage_util.c | 14 +- src/util/virbitmap.c | 4 +- src/util/vircommand.c | 3 +- src/util/virconf.c | 5 +- src/util/virdnsmasq.c | 6 +- src/util/virebtables.c | 24 +--- src/util/virfile.c | 2 +- src/util/virfilecache.c | 2 +- src/util/virfirewall.c | 2 +- src/util/viriptables.c | 14 +- src/util/virlog.c | 5 +- src/util/virnetdevip.c | 3 +- src/util/virpidfile.c | 2 +- src/util/virqemu.c | 11 +- src/util/virresctrl.c | 10 +- src/util/virsocketaddr.c | 25 ++-- src/util/virstoragefile.c | 2 +- src/util/virstring.c | 4 +- src/util/virsysinfo.c | 5 +- src/util/virsystemd.c | 4 +- src/util/viruri.c | 2 +- src/util/virxml.c | 12 +- src/vmx/vmx.c | 5 +- src/vz/vz_driver.c | 4 +- tests/commandtest.c | 3 +- tests/cputest.c | 2 +- tests/networkxml2firewalltest.c | 3 +- tests/nodedevmdevctltest.c | 6 +- tests/nwfilterebiptablestest.c | 21 +-- tests/nwfilterxml2firewalltest.c | 3 +- tests/qemublocktest.c | 2 +- tests/qemucommandutiltest.c | 2 +- tests/qemumigparamstest.c | 6 +- tests/qemumonitorjsontest.c | 9 +- tests/qemumonitortestutils.c | 2 +- tests/testutils.c | 2 +- tests/vboxsnapshotxmltest.c | 3 +- tests/virbuftest.c | 58 ++++---- tests/vircgrouptest.c | 3 +- tests/virfirewalltest.c | 80 +++-------- tests/virhostcputest.c | 3 +- tests/virkmodtest.c | 4 +- tests/virnetdevbandwidthtest.c | 3 +- tools/virsh-checkpoint.c | 3 +- tools/virsh-domain-monitor.c | 3 +- tools/virsh-domain.c | 58 ++++---- tools/virsh-pool.c | 19 ++- tools/virsh-secret.c | 2 +- tools/virsh-snapshot.c | 3 +- tools/virsh-volume.c | 3 +- tools/vsh-table.c | 2 +- tools/vsh.c | 15 +- 116 files changed, 505 insertions(+), 853 deletions(-) -- 2.25.4

In most cases this eliminates one or more calls to virBufferClearAndReset(), but even when it doesn't it's better because: 1) it makes the code more consistent, making it more likely that new contributors who are "learning by example" will to the right thing. 2) it protects against future modifications that might have otherwise needed to add a virBufferClearAndReset() 3) Currently some functions don't call virBufferClearAndReset() only because they're relying on some subordinate function to call it for them (e.g. bhyveConnectGetSysinfo() in this patch relies on virSysinfoFormat() to clear out the buffer when there is an error). I think this is sloppy behavior, and that the toplevel function that defines and initializes the buffer should be the function clearing it at the end. Signed-off-by: Laine Stump <laine@redhat.com> --- src/bhyve/bhyve_command.c | 15 ++++++--------- src/bhyve/bhyve_driver.c | 4 ++-- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/src/bhyve/bhyve_command.c b/src/bhyve/bhyve_command.c index 5b1d80083a..9649c2d2a2 100644 --- a/src/bhyve/bhyve_command.c +++ b/src/bhyve/bhyve_command.c @@ -166,14 +166,15 @@ bhyveBuildAHCIControllerArgStr(const virDomainDef *def, bhyveConnPtr driver, virCommandPtr cmd) { - virBuffer buf = VIR_BUFFER_INITIALIZER; - virBuffer device = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; const char *disk_source; size_t i; int ret = -1; for (i = 0; i < def->ndisks; i++) { + g_auto(virBuffer) device = VIR_BUFFER_INITIALIZER; virDomainDiskDefPtr disk = def->disks[i]; + if (disk->bus != VIR_DOMAIN_DISK_BUS_SATA) continue; @@ -221,7 +222,6 @@ bhyveBuildAHCIControllerArgStr(const virDomainDef *def, goto error; } virBufferAddBuffer(&buf, &device); - virBufferFreeAndReset(&device); } virCommandAddArg(cmd, "-s"); @@ -231,7 +231,6 @@ bhyveBuildAHCIControllerArgStr(const virDomainDef *def, ret = 0; error: - virBufferFreeAndReset(&buf); return ret; } @@ -378,7 +377,7 @@ bhyveBuildGraphicsArgStr(const virDomainDef *def, virCommandPtr cmd, bool dryRun) { - virBuffer opt = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) opt = VIR_BUFFER_INITIALIZER; virDomainGraphicsListenDefPtr glisten = NULL; bool escapeAddr; unsigned short port; @@ -478,7 +477,6 @@ bhyveBuildGraphicsArgStr(const virDomainDef *def, return 0; error: - virBufferFreeAndReset(&opt); return -1; } @@ -765,7 +763,6 @@ virBhyveProcessBuildGrubbhyveCmd(virDomainDefPtr def, char **devicesmap_out) { virDomainDiskDefPtr hdd, cd, userdef, diskdef; - virBuffer devicemap; virCommandPtr cmd; unsigned int best_idx = UINT_MAX; size_t i; @@ -773,8 +770,6 @@ virBhyveProcessBuildGrubbhyveCmd(virDomainDefPtr def, if (def->os.bootloaderArgs != NULL) return virBhyveProcessBuildCustomLoaderCmd(def); - devicemap = (virBuffer)VIR_BUFFER_INITIALIZER; - /* Search disk list for CD or HDD device. We'll respect <boot order=''> if * present and otherwise pick the first CD or failing that HDD we come * across. */ @@ -809,6 +804,8 @@ virBhyveProcessBuildGrubbhyveCmd(virDomainDefPtr def, VIR_DEBUG("grub-bhyve with default arguments"); if (devicesmap_out != NULL) { + g_auto(virBuffer) devicemap = VIR_BUFFER_INITIALIZER; + /* Grub device.map (just for boot) */ if (userdef != NULL) { virBhyveFormatGrubDevice(&devicemap, userdef); diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c index b6204c7fb9..daa20bad40 100644 --- a/src/bhyve/bhyve_driver.c +++ b/src/bhyve/bhyve_driver.c @@ -244,7 +244,7 @@ static char * bhyveConnectGetSysinfo(virConnectPtr conn, unsigned int flags) { bhyveConnPtr privconn = conn->privateData; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virCheckFlags(0, NULL); @@ -678,7 +678,7 @@ bhyveConnectDomainXMLToNative(virConnectPtr conn, const char *xmlData, unsigned int flags) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; bhyveConnPtr privconn = conn->privateData; virDomainDefPtr def = NULL; virCommandPtr cmd = NULL, loadcmd = NULL; -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
In most cases this eliminates one or more calls to virBufferClearAndReset(), but even when it doesn't it's better because:
1) it makes the code more consistent, making it more likely that new contributors who are "learning by example" will to the right thing.
Long line
2) it protects against future modifications that might have otherwise needed to add a virBufferClearAndReset()
3) Currently some functions don't call virBufferClearAndReset() only because they're relying on some subordinate function to call it for them (e.g. bhyveConnectGetSysinfo() in this patch relies on virSysinfoFormat() to clear out the buffer when there is an error). I think this is sloppy behavior, and that the toplevel function that defines and initializes the buffer should be the function clearing it at the end.
Signed-off-by: Laine Stump <laine@redhat.com> --- src/bhyve/bhyve_command.c | 15 ++++++--------- src/bhyve/bhyve_driver.c | 4 ++-- 2 files changed, 8 insertions(+), 11 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Laine Stump <laine@redhat.com> --- src/esx/esx_driver.c | 19 +++++-------------- src/esx/esx_util.c | 4 ++-- src/esx/esx_vi.c | 19 +++++-------------- src/esx/esx_vi_methods.c | 6 +----- 4 files changed, 13 insertions(+), 35 deletions(-) diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c index 0ede65279a..3fb7a3b62c 100644 --- a/src/esx/esx_driver.c +++ b/src/esx/esx_driver.c @@ -275,7 +275,7 @@ esxFormatVMXFileName(const char *fileName, void *opaque) esxVI_ObjectContent *datastore = NULL; esxVI_DatastoreHostMount *hostMount = NULL; char separator = '/'; - virBuffer buffer = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buffer = VIR_BUFFER_INITIALIZER; char *tmp; size_t length; @@ -336,10 +336,8 @@ esxFormatVMXFileName(const char *fileName, void *opaque) success = true; cleanup: - if (! success) { - virBufferFreeAndReset(&buffer); + if (! success) VIR_FREE(result); - } VIR_FREE(datastoreName); VIR_FREE(directoryAndFileName); @@ -2359,7 +2357,7 @@ esxDomainScreenshot(virDomainPtr domain, virStreamPtr stream, esxVI_String *propertyNameList = NULL; esxVI_ObjectContent *virtualMachine = NULL; esxVI_VirtualMachinePowerState powerState; - virBuffer buffer = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buffer = VIR_BUFFER_INITIALIZER; char *url = NULL; virCheckFlags(0, NULL); @@ -2413,7 +2411,6 @@ esxDomainScreenshot(virDomainPtr domain, virStreamPtr stream, } cleanup: - virBufferFreeAndReset(&buffer); esxVI_String_Free(&propertyNameList); esxVI_ObjectContent_Free(&virtualMachine); @@ -2579,7 +2576,7 @@ esxDomainGetXMLDesc(virDomainPtr domain, unsigned int flags) char *datastoreName = NULL; char *directoryName = NULL; char *directoryAndFileName = NULL; - virBuffer buffer = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buffer = VIR_BUFFER_INITIALIZER; char *url = NULL; char *vmx = NULL; virVMXContext ctx; @@ -2653,9 +2650,6 @@ esxDomainGetXMLDesc(virDomainPtr domain, unsigned int flags) } cleanup: - if (!url) - virBufferFreeAndReset(&buffer); - esxVI_String_Free(&propertyNameList); esxVI_ObjectContent_Free(&virtualMachine); VIR_FREE(moref); @@ -2936,7 +2930,7 @@ esxDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags) char *datastoreName = NULL; char *directoryName = NULL; char *escapedName = NULL; - virBuffer buffer = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buffer = VIR_BUFFER_INITIALIZER; char *url = NULL; char *datastoreRelatedPath = NULL; esxVI_String *propertyNameList = NULL; @@ -3124,9 +3118,6 @@ esxDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags) /* FIXME: Add proper rollback in case of an error */ cleanup: - if (!url) - virBufferFreeAndReset(&buffer); - virDomainDefFree(def); VIR_FREE(vmx); VIR_FREE(datastoreName); diff --git a/src/esx/esx_util.c b/src/esx/esx_util.c index 89d136248f..11f43acc19 100644 --- a/src/esx/esx_util.c +++ b/src/esx/esx_util.c @@ -357,7 +357,7 @@ esxUtil_EscapeBase64(const char *string) static const char *base64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+,"; - virBuffer buffer = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buffer = VIR_BUFFER_INITIALIZER; const char *tmp1 = string; size_t length; unsigned char c1, c2, c3; @@ -456,7 +456,7 @@ esxUtil_EscapeDatastoreItem(const char *string) char * esxUtil_EscapeForXml(const char *string) { - virBuffer buffer = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buffer = VIR_BUFFER_INITIALIZER; virBufferEscapeString(&buffer, "%s", string); diff --git a/src/esx/esx_vi.c b/src/esx/esx_vi.c index 16690edfbe..d48a24e9d3 100644 --- a/src/esx/esx_vi.c +++ b/src/esx/esx_vi.c @@ -370,7 +370,7 @@ esxVI_CURL_Download(esxVI_CURL *curl, const char *url, char **content, unsigned long long offset, unsigned long long *length) { char *range = NULL; - virBuffer buffer = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buffer = VIR_BUFFER_INITIALIZER; int responseCode = 0; ESX_VI_CHECK_ARG_LIST(content); @@ -421,10 +421,8 @@ esxVI_CURL_Download(esxVI_CURL *curl, const char *url, char **content, cleanup: VIR_FREE(range); - if (!(*content)) { - virBufferFreeAndReset(&buffer); + if (!(*content)) return -1; - } return 0; } @@ -1025,7 +1023,7 @@ esxVI_Context_LookupManagedObjectsByPath(esxVI_Context *ctx, const char *path) char *saveptr = NULL; char *previousItem = NULL; char *item = NULL; - virBuffer buffer = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buffer = VIR_BUFFER_INITIALIZER; esxVI_ManagedObjectReference *root = NULL; esxVI_Folder *folder = NULL; @@ -1184,9 +1182,6 @@ esxVI_Context_LookupManagedObjectsByPath(esxVI_Context *ctx, const char *path) result = 0; cleanup: - if (result < 0) - virBufferFreeAndReset(&buffer); - if (root != ctx->service->rootFolder && (!ctx->datacenter || root != ctx->datacenter->hostFolder)) { esxVI_ManagedObjectReference_Free(&root); @@ -1248,7 +1243,7 @@ esxVI_Context_Execute(esxVI_Context *ctx, const char *methodName, esxVI_Occurrence occurrence) { int result = -1; - virBuffer buffer = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buffer = VIR_BUFFER_INITIALIZER; esxVI_Fault *fault = NULL; char *xpathExpression = NULL; xmlXPathContextPtr xpathContext = NULL; @@ -1408,7 +1403,6 @@ esxVI_Context_Execute(esxVI_Context *ctx, const char *methodName, cleanup: if (result < 0) { - virBufferFreeAndReset(&buffer); esxVI_Response_Free(response); esxVI_Fault_Free(&fault); } @@ -4130,7 +4124,7 @@ esxVI_HandleVirtualMachineQuestion { int result = -1; esxVI_ElementDescription *elementDescription = NULL; - virBuffer buffer = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buffer = VIR_BUFFER_INITIALIZER; esxVI_ElementDescription *answerChoice = NULL; int answerIndex = 0; char *possibleAnswers = NULL; @@ -4212,9 +4206,6 @@ esxVI_HandleVirtualMachineQuestion result = 0; cleanup: - if (result < 0) - virBufferFreeAndReset(&buffer); - VIR_FREE(possibleAnswers); return result; diff --git a/src/esx/esx_vi_methods.c b/src/esx/esx_vi_methods.c index 616b202d09..e22a078997 100644 --- a/src/esx/esx_vi_methods.c +++ b/src/esx/esx_vi_methods.c @@ -105,7 +105,7 @@ { \ int result = -1; \ const char *methodName = #_name; \ - virBuffer buffer = VIR_BUFFER_INITIALIZER; \ + g_auto(virBuffer) buffer = VIR_BUFFER_INITIALIZER; \ char *request = NULL; \ esxVI_Response *response = NULL; \ \ @@ -136,10 +136,6 @@ result = 0; \ \ cleanup: \ - if (result < 0) { \ - virBufferFreeAndReset(&buffer); \ - } \ - \ VIR_FREE(request); \ esxVI_Response_Free(&response); \ \ -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Signed-off-by: Laine Stump <laine@redhat.com> --- src/esx/esx_driver.c | 19 +++++-------------- src/esx/esx_util.c | 4 ++-- src/esx/esx_vi.c | 19 +++++-------------- src/esx/esx_vi_methods.c | 6 +----- 4 files changed, 13 insertions(+), 35 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Laine Stump <laine@redhat.com> --- src/hyperv/hyperv_driver.c | 34 ++++++++++++++++------------------ src/hyperv/hyperv_wmi.c | 11 +++++------ 2 files changed, 21 insertions(+), 24 deletions(-) diff --git a/src/hyperv/hyperv_driver.c b/src/hyperv/hyperv_driver.c index 4677a25ff8..20d372b274 100644 --- a/src/hyperv/hyperv_driver.c +++ b/src/hyperv/hyperv_driver.c @@ -60,7 +60,7 @@ static int hypervInitConnection(virConnectPtr conn, hypervPrivate *priv, char *username, char *password) { - virBuffer query = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) query = VIR_BUFFER_INITIALIZER; hypervWqlQuery wqlQuery = HYPERV_WQL_QUERY_INITIALIZER; hypervObject *computerSystem = NULL; int ret = -1; @@ -204,7 +204,7 @@ hypervConnectGetHostname(virConnectPtr conn) { char *hostname = NULL; hypervPrivate *priv = conn->privateData; - virBuffer query = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) query = VIR_BUFFER_INITIALIZER; Win32_ComputerSystem *computerSystem = NULL; virBufferAddLit(&query, WIN32_COMPUTERSYSTEM_WQL_SELECT); @@ -234,7 +234,7 @@ hypervNodeGetInfo(virConnectPtr conn, virNodeInfoPtr info) { int result = -1; hypervPrivate *priv = conn->privateData; - virBuffer query = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) query = VIR_BUFFER_INITIALIZER; Win32_ComputerSystem *computerSystem = NULL; Win32_Processor *processorList = NULL; Win32_Processor *processor = NULL; @@ -329,7 +329,7 @@ hypervConnectListDomains(virConnectPtr conn, int *ids, int maxids) { bool success = false; hypervPrivate *priv = conn->privateData; - virBuffer query = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) query = VIR_BUFFER_INITIALIZER; Msvm_ComputerSystem *computerSystemList = NULL; Msvm_ComputerSystem *computerSystem = NULL; int count = 0; @@ -371,7 +371,7 @@ hypervConnectNumOfDomains(virConnectPtr conn) { bool success = false; hypervPrivate *priv = conn->privateData; - virBuffer query = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) query = VIR_BUFFER_INITIALIZER; Msvm_ComputerSystem *computerSystemList = NULL; Msvm_ComputerSystem *computerSystem = NULL; int count = 0; @@ -407,7 +407,7 @@ hypervDomainLookupByID(virConnectPtr conn, int id) { virDomainPtr domain = NULL; hypervPrivate *priv = conn->privateData; - virBuffer query = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) query = VIR_BUFFER_INITIALIZER; Msvm_ComputerSystem *computerSystem = NULL; virBufferAddLit(&query, MSVM_COMPUTERSYSTEM_WQL_SELECT); @@ -439,7 +439,7 @@ hypervDomainLookupByUUID(virConnectPtr conn, const unsigned char *uuid) virDomainPtr domain = NULL; hypervPrivate *priv = conn->privateData; char uuid_string[VIR_UUID_STRING_BUFLEN]; - virBuffer query = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) query = VIR_BUFFER_INITIALIZER; Msvm_ComputerSystem *computerSystem = NULL; virUUIDFormat(uuid, uuid_string); @@ -473,7 +473,7 @@ hypervDomainLookupByName(virConnectPtr conn, const char *name) { virDomainPtr domain = NULL; hypervPrivate *priv = conn->privateData; - virBuffer query = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) query = VIR_BUFFER_INITIALIZER; Msvm_ComputerSystem *computerSystem = NULL; virBufferAddLit(&query, MSVM_COMPUTERSYSTEM_WQL_SELECT); @@ -612,7 +612,7 @@ hypervDomainGetInfo(virDomainPtr domain, virDomainInfoPtr info) int result = -1; hypervPrivate *priv = domain->conn->privateData; char uuid_string[VIR_UUID_STRING_BUFLEN]; - virBuffer query = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) query = VIR_BUFFER_INITIALIZER; Msvm_ComputerSystem *computerSystem = NULL; Msvm_VirtualSystemSettingData *virtualSystemSettingData = NULL; Msvm_ProcessorSettingData *processorSettingData = NULL; @@ -746,7 +746,7 @@ hypervDomainGetXMLDesc(virDomainPtr domain, unsigned int flags) hypervPrivate *priv = domain->conn->privateData; virDomainDefPtr def = NULL; char uuid_string[VIR_UUID_STRING_BUFLEN]; - virBuffer query = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) query = VIR_BUFFER_INITIALIZER; Msvm_ComputerSystem *computerSystem = NULL; Msvm_VirtualSystemSettingData *virtualSystemSettingData = NULL; Msvm_ProcessorSettingData *processorSettingData = NULL; @@ -851,7 +851,7 @@ hypervDomainGetXMLDesc(virDomainPtr domain, unsigned int flags) } else if (priv->wmiVersion == HYPERV_WMI_VERSION_V2 && virtualSystemSettingData->data.v2->Notes.data != NULL) { char **notes = (char **)virtualSystemSettingData->data.v2->Notes.data; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; size_t i = 0; /* in practice Notes has 1 element */ @@ -906,7 +906,7 @@ hypervConnectListDefinedDomains(virConnectPtr conn, char **const names, int maxn { bool success = false; hypervPrivate *priv = conn->privateData; - virBuffer query = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) query = VIR_BUFFER_INITIALIZER; Msvm_ComputerSystem *computerSystemList = NULL; Msvm_ComputerSystem *computerSystem = NULL; int count = 0; @@ -958,7 +958,7 @@ hypervConnectNumOfDefinedDomains(virConnectPtr conn) { bool success = false; hypervPrivate *priv = conn->privateData; - virBuffer query = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) query = VIR_BUFFER_INITIALIZER; Msvm_ComputerSystem *computerSystemList = NULL; Msvm_ComputerSystem *computerSystem = NULL; int count = 0; @@ -1198,7 +1198,7 @@ hypervConnectListAllDomains(virConnectPtr conn, unsigned int flags) { hypervPrivate *priv = conn->privateData; - virBuffer query = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) query = VIR_BUFFER_INITIALIZER; Msvm_ComputerSystem *computerSystemList = NULL; Msvm_ComputerSystem *computerSystem = NULL; size_t ndoms; @@ -1336,7 +1336,7 @@ hypervDomainSendKey(virDomainPtr domain, unsigned int codeset, char *selector = NULL; Msvm_ComputerSystem *computerSystem = NULL; Msvm_Keyboard *keyboard = NULL; - virBuffer query = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) query = VIR_BUFFER_INITIALIZER; hypervInvokeParamsListPtr params = NULL; char keycodeStr[VIR_INT64_STR_BUFLEN]; @@ -1437,7 +1437,6 @@ hypervDomainSendKey(virDomainPtr domain, unsigned int codeset, VIR_FREE(selector); hypervFreeObject(priv, (hypervObject *)keyboard); hypervFreeObject(priv, (hypervObject *)computerSystem); - virBufferFreeAndReset(&query); return result; } @@ -1454,7 +1453,7 @@ hypervDomainSetMemoryFlags(virDomainPtr domain, unsigned long memory, unsigned long memory_mb = VIR_ROUND_UP(VIR_DIV_UP(memory, 1024), 2); Msvm_VirtualSystemSettingData *vssd = NULL; Msvm_MemorySettingData *memsd = NULL; - virBuffer eprQuery = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) eprQuery = VIR_BUFFER_INITIALIZER; virHashTablePtr memResource = NULL; virCheckFlags(0, -1); @@ -1537,7 +1536,6 @@ hypervDomainSetMemoryFlags(virDomainPtr domain, unsigned long memory, params_cleanup: hypervFreeInvokeParams(params); - virBufferFreeAndReset(&eprQuery); cleanup: VIR_FREE(memory_str); hypervFreeObject(priv, (hypervObject *)vssd); diff --git a/src/hyperv/hyperv_wmi.c b/src/hyperv/hyperv_wmi.c index ca2d29733e..f8d0aaf373 100644 --- a/src/hyperv/hyperv_wmi.c +++ b/src/hyperv/hyperv_wmi.c @@ -778,7 +778,7 @@ hypervInvokeMethod(hypervPrivate *priv, hypervInvokeParamsListPtr params, char *returnValue = NULL; char *instanceID = NULL; bool completed = false; - virBuffer query = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) query = VIR_BUFFER_INITIALIZER; Msvm_ConcreteJob *job = NULL; int jobState = -1; hypervParamPtr p = NULL; @@ -939,7 +939,6 @@ hypervInvokeMethod(hypervPrivate *priv, hypervInvokeParamsListPtr params, VIR_FREE(jobcode_instance_xpath); VIR_FREE(returnValue); VIR_FREE(instanceID); - virBufferFreeAndReset(&query); hypervFreeObject(priv, (hypervObject *)job); hypervFreeInvokeParams(params); return result; @@ -1314,7 +1313,7 @@ hypervInvokeMsvmComputerSystemRequestStateChange(virDomainPtr domain, char *returnValue = NULL; int returnCode; char *instanceID = NULL; - virBuffer query = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) query = VIR_BUFFER_INITIALIZER; Msvm_ConcreteJob *concreteJob = NULL; bool completed = false; const char *resourceUri = MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI; @@ -1553,7 +1552,7 @@ hypervMsvmComputerSystemFromDomain(virDomainPtr domain, { hypervPrivate *priv = domain->conn->privateData; char uuid_string[VIR_UUID_STRING_BUFLEN]; - virBuffer query = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) query = VIR_BUFFER_INITIALIZER; if (computerSystem == NULL || *computerSystem != NULL) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Invalid argument")); @@ -1588,7 +1587,7 @@ int hypervGetMsvmVirtualSystemSettingDataFromUUID(hypervPrivate *priv, const char *uuid_string, Msvm_VirtualSystemSettingData **list) { - virBuffer query = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) query = VIR_BUFFER_INITIALIZER; virBufferAsprintf(&query, "associators of " @@ -1614,7 +1613,7 @@ int hypervGetMsvmMemorySettingDataFromVSSD(hypervPrivate *priv, const char *vssd_instanceid, Msvm_MemorySettingData **list) { - virBuffer query = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) query = VIR_BUFFER_INITIALIZER; virBufferAsprintf(&query, "associators of " -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Signed-off-by: Laine Stump <laine@redhat.com> --- src/hyperv/hyperv_driver.c | 34 ++++++++++++++++------------------ src/hyperv/hyperv_wmi.c | 11 +++++------ 2 files changed, 21 insertions(+), 24 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Laine Stump <laine@redhat.com> --- src/libxl/libxl_conf.c | 6 ++---- src/libxl/libxl_driver.c | 2 +- src/libxl/libxl_migration.c | 2 +- src/libxl/xen_common.c | 12 +++++------- src/libxl/xen_xl.c | 19 +++++++------------ src/libxl/xen_xm.c | 3 +-- 6 files changed, 17 insertions(+), 27 deletions(-) diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c index a0059fc2a7..124e08d598 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c @@ -911,7 +911,7 @@ libxlMakeNetworkDiskSrcStr(virStorageSourcePtr src, const char *secret) { char *ret = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; size_t i; switch ((virStorageNetProtocol) src->protocol) { @@ -978,7 +978,6 @@ libxlMakeNetworkDiskSrcStr(virStorageSourcePtr src, } cleanup: - virBufferFreeAndReset(&buf); return ret; } @@ -1241,7 +1240,7 @@ libxlMakeNic(virDomainDefPtr def, const virNetDevBandwidth *actual_bw; const virNetDevVPortProfile *port_profile; const virNetDevVlan *virt_vlan; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; size_t i; const char *script = NULL; int ret = -1; @@ -1434,7 +1433,6 @@ libxlMakeNic(virDomainDefPtr def, ret = 0; cleanup: - virBufferFreeAndReset(&buf); virObjectUnref(network); virObjectUnref(conn); diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c index a80bc3fe3a..9b9713df2c 100644 --- a/src/libxl/libxl_driver.c +++ b/src/libxl/libxl_driver.c @@ -942,7 +942,7 @@ static char * libxlConnectGetSysinfo(virConnectPtr conn, unsigned int flags) { libxlDriverPrivatePtr driver = conn->privateData; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virCheckFlags(0, NULL); diff --git a/src/libxl/libxl_migration.c b/src/libxl/libxl_migration.c index 9d253346eb..87cd5337ba 100644 --- a/src/libxl/libxl_migration.c +++ b/src/libxl/libxl_migration.c @@ -117,7 +117,7 @@ libxlMigrationBakeCookie(libxlMigrationCookiePtr mig, char **cookieout, int *cookieoutlen) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; char uuidstr[VIR_UUID_STRING_BUFLEN]; if (!cookieout || !cookieoutlen) diff --git a/src/libxl/xen_common.c b/src/libxl/xen_common.c index 5c37e431eb..6b16752c8a 100644 --- a/src/libxl/xen_common.c +++ b/src/libxl/xen_common.c @@ -1633,7 +1633,7 @@ xenFormatSxprChr(virDomainChrDefPtr def, static int xenFormatSerial(virConfValuePtr list, virDomainChrDefPtr serial) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virConfValuePtr val, tmp; int ret; @@ -1661,7 +1661,6 @@ xenFormatSerial(virConfValuePtr list, virDomainChrDefPtr serial) return 0; cleanup: - virBufferFreeAndReset(&buf); return -1; } @@ -1694,7 +1693,7 @@ xenFormatNet(virConnectPtr conn, int hvm, const char *vif_typename) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virConfValuePtr val, tmp; char macaddr[VIR_MAC_STRING_BUFLEN]; @@ -1826,7 +1825,6 @@ xenFormatNet(virConnectPtr conn, return 0; cleanup: - virBufferFreeAndReset(&buf); return -1; } @@ -2034,7 +2032,7 @@ xenFormatCharDev(virConfPtr conf, virDomainDefPtr def, if (def->os.type == VIR_DOMAIN_OSTYPE_HVM) { if (def->nparallels) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; char *str; int ret; @@ -2052,7 +2050,7 @@ xenFormatCharDev(virConfPtr conf, virDomainDefPtr def, if (def->nserials) { if ((def->nserials == 1) && (def->serials[0]->target.port == 0)) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; char *str; int ret; @@ -2329,7 +2327,7 @@ xenFormatVfb(virConfPtr conf, virDomainDefPtr def) } else { virConfValuePtr vfb, disp; char *vfbstr = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (def->graphics[0]->type == VIR_DOMAIN_GRAPHICS_TYPE_SDL) { virBufferAddLit(&buf, "type=sdl"); diff --git a/src/libxl/xen_xl.c b/src/libxl/xen_xl.c index d40c2e1d8e..ec5e4791a3 100644 --- a/src/libxl/xen_xl.c +++ b/src/libxl/xen_xl.c @@ -1445,7 +1445,7 @@ xenFormatXLVnuma(virConfValuePtr list, int ret = -1; size_t i; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virConfValuePtr numaVnode, tmp; size_t nodeSize = virDomainNumaGetNodeMemorySize(numa, node) / 1024; @@ -1563,7 +1563,7 @@ static char * xenFormatXLDiskSrcNet(virStorageSourcePtr src) { char *ret = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; size_t i; switch ((virStorageNetProtocol) src->protocol) { @@ -1620,8 +1620,6 @@ xenFormatXLDiskSrcNet(virStorageSourcePtr src) } cleanup: - virBufferFreeAndReset(&buf); - return ret; } @@ -1662,7 +1660,7 @@ xenFormatXLDiskSrc(virStorageSourcePtr src, char **srcstr) static int xenFormatXLDisk(virConfValuePtr list, virDomainDiskDefPtr disk) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virConfValuePtr val, tmp; int format = virDomainDiskGetFormat(disk); const char *driver = virDomainDiskGetDriver(disk); @@ -1754,7 +1752,6 @@ xenFormatXLDisk(virConfValuePtr list, virDomainDiskDefPtr disk) cleanup: VIR_FREE(target); - virBufferFreeAndReset(&buf); return ret; } @@ -1976,7 +1973,7 @@ xenFormatXLUSBController(virConfPtr conf, for (i = 0; i < def->ncontrollers; i++) { if (def->controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_USB) { virConfValuePtr val, tmp; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (def->controllers[i]->model != -1) { switch (def->controllers[i]->model) { @@ -1997,10 +1994,9 @@ xenFormatXLUSBController(virConfPtr conf, virBufferAsprintf(&buf, "ports=%x", def->controllers[i]->opts.usbopts.ports); - if (VIR_ALLOC(val) < 0) { - virBufferFreeAndReset(&buf); + if (VIR_ALLOC(val) < 0) goto error; - } + val->type = VIR_CONF_STRING; val->str = virBufferContentAndReset(&buf); tmp = usbctrlVal->list; @@ -2098,7 +2094,7 @@ xenFormatXLUSB(virConfPtr conf, static int xenFormatXLChannel(virConfValuePtr list, virDomainChrDefPtr channel) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; int sourceType = channel->source->type; virConfValuePtr val, tmp; @@ -2137,7 +2133,6 @@ xenFormatXLChannel(virConfValuePtr list, virDomainChrDefPtr channel) return 0; cleanup: - virBufferFreeAndReset(&buf); return -1; } diff --git a/src/libxl/xen_xm.c b/src/libxl/xen_xm.c index 3883725efc..f28326ade8 100644 --- a/src/libxl/xen_xm.c +++ b/src/libxl/xen_xm.c @@ -290,7 +290,7 @@ static int xenFormatXMDisk(virConfValuePtr list, virDomainDiskDefPtr disk) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virConfValuePtr val, tmp; const char *src = virDomainDiskGetSource(disk); int format = virDomainDiskGetFormat(disk); @@ -361,7 +361,6 @@ xenFormatXMDisk(virConfValuePtr list, return 0; cleanup: - virBufferFreeAndReset(&buf); return -1; } -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Signed-off-by: Laine Stump <laine@redhat.com> --- src/libxl/libxl_conf.c | 6 ++---- src/libxl/libxl_driver.c | 2 +- src/libxl/libxl_migration.c | 2 +- src/libxl/xen_common.c | 12 +++++------- src/libxl/xen_xl.c | 19 +++++++------------ src/libxl/xen_xm.c | 3 +-- 6 files changed, 17 insertions(+), 27 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Laine Stump <laine@redhat.com> --- src/lxc/lxc_container.c | 4 +--- src/lxc/lxc_controller.c | 3 +-- src/lxc/lxc_driver.c | 2 +- src/lxc/lxc_fuse.c | 3 +-- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c index c22b7b0709..24a3b6d626 100644 --- a/src/lxc/lxc_container.c +++ b/src/lxc/lxc_container.c @@ -174,7 +174,7 @@ static virCommandPtr lxcContainerBuildInitCmd(virDomainDefPtr vmDef, { char uuidstr[VIR_UUID_STRING_BUFLEN]; virCommandPtr cmd; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; size_t i; /* 'container_ptys' must exclude the PTY associated with @@ -185,7 +185,6 @@ static virCommandPtr lxcContainerBuildInitCmd(virDomainDefPtr vmDef, virReportError(VIR_ERR_INTERNAL_ERROR, _("Expected a /dev path for '%s'"), ttyPaths[i]); - virBufferFreeAndReset(&buf); return NULL; } virBufferAdd(&buf, ttyPaths[i] + 5, -1); @@ -219,7 +218,6 @@ static virCommandPtr lxcContainerBuildInitCmd(virDomainDefPtr vmDef, vmDef->os.initenv[i]->value); } - virBufferFreeAndReset(&buf); return cmd; } diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c index 89f9773b2c..01cdeb29db 100644 --- a/src/lxc/lxc_controller.c +++ b/src/lxc/lxc_controller.c @@ -1378,7 +1378,7 @@ virLXCControllerSetupUsernsMap(virDomainIdMapEntryPtr map, int num, char *path) { - virBuffer map_value = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) map_value = VIR_BUFFER_INITIALIZER; size_t i; int ret = -1; @@ -1402,7 +1402,6 @@ virLXCControllerSetupUsernsMap(virDomainIdMapEntryPtr map, ret = 0; cleanup: - virBufferFreeAndReset(&map_value); return ret; } diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index 46a182be45..1cdd6ee455 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -4618,7 +4618,7 @@ static char * lxcConnectGetSysinfo(virConnectPtr conn, unsigned int flags) { virLXCDriverPtr driver = conn->privateData; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virCheckFlags(0, NULL); diff --git a/src/lxc/lxc_fuse.c b/src/lxc/lxc_fuse.c index 146629f67e..6e23361617 100644 --- a/src/lxc/lxc_fuse.c +++ b/src/lxc/lxc_fuse.c @@ -124,7 +124,7 @@ static int lxcProcReadMeminfo(char *hostpath, virDomainDefPtr def, g_autofree char *line = NULL; size_t n; struct virLXCMeminfo meminfo; - virBuffer buffer = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buffer = VIR_BUFFER_INITIALIZER; virBufferPtr new_meminfo = &buffer; if (virLXCCgroupGetMeminfo(&meminfo) < 0) { @@ -223,7 +223,6 @@ static int lxcProcReadMeminfo(char *hostpath, virDomainDefPtr def, memcpy(buf, virBufferCurrentContent(new_meminfo), res); cleanup: - virBufferFreeAndReset(new_meminfo); VIR_FORCE_FCLOSE(fd); return res; } -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Signed-off-by: Laine Stump <laine@redhat.com> --- src/lxc/lxc_container.c | 4 +--- src/lxc/lxc_controller.c | 3 +-- src/lxc/lxc_driver.c | 2 +- src/lxc/lxc_fuse.c | 3 +-- 4 files changed, 4 insertions(+), 8 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Laine Stump <laine@redhat.com> --- src/qemu/qemu_agent.c | 2 +- src/qemu/qemu_block.c | 2 +- src/qemu/qemu_capabilities.c | 2 +- src/qemu/qemu_command.c | 4 ++-- src/qemu/qemu_dbus.c | 2 +- src/qemu/qemu_domain.c | 4 ++-- src/qemu/qemu_driver.c | 5 ++--- src/qemu/qemu_migration.c | 2 +- src/qemu/qemu_migration_cookie.c | 6 ++---- src/qemu/qemu_monitor.c | 2 +- 10 files changed, 14 insertions(+), 17 deletions(-) diff --git a/src/qemu/qemu_agent.c b/src/qemu/qemu_agent.c index 6fa48c06e3..37b5451e33 100644 --- a/src/qemu/qemu_agent.c +++ b/src/qemu/qemu_agent.c @@ -155,7 +155,7 @@ static char * qemuAgentEscapeNonPrintable(const char *text) { size_t i; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; for (i = 0; text[i] != '\0'; i++) { if (text[i] == '\\') virBufferAddLit(&buf, "\\\\"); diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index b00694c96f..a727366373 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -3271,7 +3271,7 @@ qemuBlockStorageSourceNeedsStorageSliceLayer(const virStorageSource *src) char * qemuBlockStorageSourceGetCookieString(virStorageSourcePtr src) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; size_t i; for (i = 0; i < src->ncookies; i++) { diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index efc42aac17..0cf9165ecc 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -4602,7 +4602,7 @@ virQEMUCapsFormatSEVInfo(virQEMUCapsPtr qemuCaps, virBufferPtr buf) char * virQEMUCapsFormatCache(virQEMUCapsPtr qemuCaps) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; size_t i; virBufferAddLit(&buf, "<qemuCaps>\n"); diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 6e7fd59561..789c5b8f56 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -5477,7 +5477,7 @@ qemuBuildRNGCommandLine(virLogManagerPtr logManager, for (i = 0; i < def->nrngs; i++) { g_autoptr(virJSONValue) props = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virDomainRNGDefPtr rng = def->rngs[i]; g_autofree char *chardev = NULL; g_autofree char *devstr = NULL; @@ -6155,7 +6155,7 @@ qemuBuildBootCommandLine(virCommandPtr cmd, if (def->os.dtb) virCommandAddArgList(cmd, "-dtb", def->os.dtb, NULL); if (def->os.slic_table) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virCommandAddArg(cmd, "-acpitable"); virBufferAddLit(&buf, "sig=SLIC,file="); virQEMUBuildBufferEscapeComma(&buf, def->os.slic_table); diff --git a/src/qemu/qemu_dbus.c b/src/qemu/qemu_dbus.c index 53f6c45986..51f6c94e3e 100644 --- a/src/qemu/qemu_dbus.c +++ b/src/qemu/qemu_dbus.c @@ -100,7 +100,7 @@ qemuDBusGetAddress(virQEMUDriverPtr driver, static int qemuDBusWriteConfig(const char *filename, const char *path) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; g_autofree char *config = NULL; virBufferAddLit(&buf, "<!DOCTYPE busconfig PUBLIC \"-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN\"\n"); diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index c5b8d91f9a..03dcdd5766 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -4820,7 +4820,7 @@ qemuDomainChrDefDropDefaultPath(virDomainChrDefPtr chr, virQEMUDriverPtr driver) { g_autoptr(virQEMUDriverConfig) cfg = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; g_autofree char *regexp = NULL; if (chr->deviceType != VIR_DOMAIN_CHR_DEVICE_TYPE_CHANNEL || @@ -6001,7 +6001,7 @@ qemuDomainDefFormatXMLInternal(virQEMUDriverPtr driver, virCPUDefPtr origCPU, unsigned int flags) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (qemuDomainDefFormatBufInternal(driver, qemuCaps, def, origCPU, flags, &buf) < 0) return NULL; diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index a5b38b3d24..247baa9b8d 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -1272,7 +1272,7 @@ static char * qemuConnectGetSysinfo(virConnectPtr conn, unsigned int flags) { virQEMUDriverPtr driver = conn->privateData; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virCheckFlags(0, NULL); @@ -14398,7 +14398,7 @@ qemuDomainSnapshotCreateInactiveExternal(virQEMUDriverPtr driver, virBitmapPtr created = NULL; g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); int ret = -1; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virDomainSnapshotDefPtr snapdef = virDomainSnapshotObjGetDef(snap); if (!(qemuImgPath = qemuFindQemuImgBinary(driver))) @@ -14485,7 +14485,6 @@ qemuDomainSnapshotCreateInactiveExternal(virQEMUDriverPtr driver, ret = 0; cleanup: - virBufferFreeAndReset(&buf); virCommandFree(cmd); /* unlink images if creation has failed */ diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 13427c1203..b7dbadb728 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -178,7 +178,7 @@ qemuMigrationDstPrecreateDisk(virConnectPtr conn, virStorageVolPtr vol = NULL; char *volName = NULL, *basePath = NULL; char *volStr = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; const char *format = NULL; unsigned int flags = 0; diff --git a/src/qemu/qemu_migration_cookie.c b/src/qemu/qemu_migration_cookie.c index fb8b5bcd92..2e48d1b524 100644 --- a/src/qemu/qemu_migration_cookie.c +++ b/src/qemu/qemu_migration_cookie.c @@ -869,12 +869,10 @@ qemuMigrationCookieXMLFormatStr(virQEMUDriverPtr driver, virQEMUCapsPtr qemuCaps, qemuMigrationCookiePtr mig) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; - if (qemuMigrationCookieXMLFormat(driver, qemuCaps, &buf, mig) < 0) { - virBufferFreeAndReset(&buf); + if (qemuMigrationCookieXMLFormat(driver, qemuCaps, &buf, mig) < 0) return NULL; - } return virBufferContentAndReset(&buf); } diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 5033cbeabf..157ebb43e8 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -203,7 +203,7 @@ static char * qemuMonitorEscapeNonPrintable(const char *text) { size_t i; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; for (i = 0; text[i] != '\0'; i++) { if (g_ascii_isprint(text[i]) || text[i] == '\n' || -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Signed-off-by: Laine Stump <laine@redhat.com> --- src/qemu/qemu_agent.c | 2 +- src/qemu/qemu_block.c | 2 +- src/qemu/qemu_capabilities.c | 2 +- src/qemu/qemu_command.c | 4 ++-- src/qemu/qemu_dbus.c | 2 +- src/qemu/qemu_domain.c | 4 ++-- src/qemu/qemu_driver.c | 5 ++--- src/qemu/qemu_migration.c | 2 +- src/qemu/qemu_migration_cookie.c | 6 ++---- src/qemu/qemu_monitor.c | 2 +- 10 files changed, 14 insertions(+), 17 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Laine Stump <laine@redhat.com> --- tests/commandtest.c | 3 +-- tests/cputest.c | 2 +- tests/networkxml2firewalltest.c | 3 +-- tests/nodedevmdevctltest.c | 6 ++---- tests/nwfilterebiptablestest.c | 21 +++++++-------------- tests/nwfilterxml2firewalltest.c | 3 +-- tests/qemublocktest.c | 2 +- tests/qemucommandutiltest.c | 2 +- tests/qemumigparamstest.c | 6 ++---- tests/qemumonitorjsontest.c | 9 ++++----- tests/qemumonitortestutils.c | 2 +- tests/testutils.c | 2 +- tests/vboxsnapshotxmltest.c | 3 +-- tests/virbuftest.c | 23 ++++++++++------------- tests/vircgrouptest.c | 3 +-- tests/virfirewalltest.c | 30 ++++++++++-------------------- tests/virhostcputest.c | 3 +-- tests/virkmodtest.c | 4 ++-- tests/virnetdevbandwidthtest.c | 3 +-- 19 files changed, 49 insertions(+), 81 deletions(-) diff --git a/tests/commandtest.c b/tests/commandtest.c index d5092b7dd0..f0e60ee5fe 100644 --- a/tests/commandtest.c +++ b/tests/commandtest.c @@ -390,7 +390,7 @@ static int test9(const void *unused G_GNUC_UNUSED) { virCommandPtr cmd = virCommandNew(abs_builddir "/commandhelper"); const char* const args[] = { "arg1", "arg2", NULL }; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virCommandAddArg(cmd, "-version"); virCommandAddArgPair(cmd, "-log", "bar.log"); @@ -402,7 +402,6 @@ static int test9(const void *unused G_GNUC_UNUSED) if (virBufferUse(&buf)) { printf("Buffer not transferred\n"); - virBufferFreeAndReset(&buf); virCommandFree(cmd); return -1; } diff --git a/tests/cputest.c b/tests/cputest.c index 0cf6870574..83d63bf495 100644 --- a/tests/cputest.c +++ b/tests/cputest.c @@ -237,7 +237,7 @@ cpuTestGuestCPU(const void *arg) virCPUDefPtr host = NULL; virCPUDefPtr cpu = NULL; virCPUCompareResult cmpResult; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; char *result = NULL; if (!(host = cpuTestLoadXML(data->arch, data->host)) || diff --git a/tests/networkxml2firewalltest.c b/tests/networkxml2firewalltest.c index 69fadd55c4..29e7d8bc38 100644 --- a/tests/networkxml2firewalltest.c +++ b/tests/networkxml2firewalltest.c @@ -62,7 +62,7 @@ static int testCompareXMLToArgvFiles(const char *xml, const char *baseargs) { char *actualargv = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virNetworkDefPtr def = NULL; int ret = -1; char *actual; @@ -92,7 +92,6 @@ static int testCompareXMLToArgvFiles(const char *xml, ret = 0; cleanup: - virBufferFreeAndReset(&buf); VIR_FREE(actualargv); virNetworkDefFree(def); return ret; diff --git a/tests/nodedevmdevctltest.c b/tests/nodedevmdevctltest.c index f5bcf5227d..9780553a3a 100644 --- a/tests/nodedevmdevctltest.c +++ b/tests/nodedevmdevctltest.c @@ -54,7 +54,7 @@ testMdevctlStart(const char *virt_type, { g_autoptr(virNodeDeviceDef) def = NULL; virNodeDeviceObjPtr obj = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; const char *actualCmdline = NULL; int ret = -1; g_autofree char *uuid = NULL; @@ -87,7 +87,6 @@ testMdevctlStart(const char *virt_type, ret = 0; cleanup: - virBufferFreeAndReset(&buf); virCommandSetDryRun(NULL, NULL, NULL); virNodeDeviceObjEndAPI(&obj); return ret; @@ -114,7 +113,7 @@ static int testMdevctlStop(const void *data) { const char *uuid = data; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; const char *actualCmdline = NULL; int ret = -1; g_autoptr(virCommand) cmd = NULL; @@ -140,7 +139,6 @@ testMdevctlStop(const void *data) ret = 0; cleanup: - virBufferFreeAndReset(&buf); virCommandSetDryRun(NULL, NULL, NULL); return ret; } diff --git a/tests/nwfilterebiptablestest.c b/tests/nwfilterebiptablestest.c index 3e6c335d4e..4d8791023c 100644 --- a/tests/nwfilterebiptablestest.c +++ b/tests/nwfilterebiptablestest.c @@ -68,7 +68,7 @@ static int testNWFilterEBIPTablesAllTeardown(const void *opaque G_GNUC_UNUSED) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; const char *expected = VIR_NWFILTER_NEW_RULES_TEARDOWN "iptables -D libvirt-out -m physdev --physdev-is-bridged --physdev-out vnet0 -g FO-vnet0\n" @@ -120,7 +120,6 @@ testNWFilterEBIPTablesAllTeardown(const void *opaque G_GNUC_UNUSED) ret = 0; cleanup: virCommandSetDryRun(NULL, NULL, NULL); - virBufferFreeAndReset(&buf); VIR_FREE(actual); return ret; } @@ -129,7 +128,7 @@ testNWFilterEBIPTablesAllTeardown(const void *opaque G_GNUC_UNUSED) static int testNWFilterEBIPTablesTearOldRules(const void *opaque G_GNUC_UNUSED) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; const char *expected = "iptables -D libvirt-out -m physdev --physdev-is-bridged --physdev-out vnet0 -g FO-vnet0\n" "iptables -D libvirt-out -m physdev --physdev-out vnet0 -g FO-vnet0\n" @@ -188,7 +187,6 @@ testNWFilterEBIPTablesTearOldRules(const void *opaque G_GNUC_UNUSED) ret = 0; cleanup: virCommandSetDryRun(NULL, NULL, NULL); - virBufferFreeAndReset(&buf); VIR_FREE(actual); return ret; } @@ -197,7 +195,7 @@ testNWFilterEBIPTablesTearOldRules(const void *opaque G_GNUC_UNUSED) static int testNWFilterEBIPTablesRemoveBasicRules(const void *opaque G_GNUC_UNUSED) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; const char *expected = "ebtables -t nat -D PREROUTING -i vnet0 -j libvirt-I-vnet0\n" "ebtables -t nat -D POSTROUTING -o vnet0 -j libvirt-O-vnet0\n" @@ -234,7 +232,6 @@ testNWFilterEBIPTablesRemoveBasicRules(const void *opaque G_GNUC_UNUSED) ret = 0; cleanup: virCommandSetDryRun(NULL, NULL, NULL); - virBufferFreeAndReset(&buf); VIR_FREE(actual); return ret; } @@ -243,7 +240,7 @@ testNWFilterEBIPTablesRemoveBasicRules(const void *opaque G_GNUC_UNUSED) static int testNWFilterEBIPTablesTearNewRules(const void *opaque G_GNUC_UNUSED) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; const char *expected = VIR_NWFILTER_NEW_RULES_TEARDOWN; char *actual = NULL; @@ -265,7 +262,6 @@ testNWFilterEBIPTablesTearNewRules(const void *opaque G_GNUC_UNUSED) ret = 0; cleanup: virCommandSetDryRun(NULL, NULL, NULL); - virBufferFreeAndReset(&buf); VIR_FREE(actual); return ret; } @@ -274,7 +270,7 @@ testNWFilterEBIPTablesTearNewRules(const void *opaque G_GNUC_UNUSED) static int testNWFilterEBIPTablesApplyBasicRules(const void *opaque G_GNUC_UNUSED) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; const char *expected = VIR_NWFILTER_NEW_RULES_TEARDOWN "iptables -D libvirt-out -m physdev --physdev-is-bridged --physdev-out vnet0 -g FO-vnet0\n" @@ -334,7 +330,6 @@ testNWFilterEBIPTablesApplyBasicRules(const void *opaque G_GNUC_UNUSED) ret = 0; cleanup: virCommandSetDryRun(NULL, NULL, NULL); - virBufferFreeAndReset(&buf); VIR_FREE(actual); return ret; } @@ -343,7 +338,7 @@ testNWFilterEBIPTablesApplyBasicRules(const void *opaque G_GNUC_UNUSED) static int testNWFilterEBIPTablesApplyDHCPOnlyRules(const void *opaque G_GNUC_UNUSED) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; const char *expected = VIR_NWFILTER_NEW_RULES_TEARDOWN "iptables -D libvirt-out -m physdev --physdev-is-bridged --physdev-out vnet0 -g FO-vnet0\n" @@ -421,7 +416,6 @@ testNWFilterEBIPTablesApplyDHCPOnlyRules(const void *opaque G_GNUC_UNUSED) ret = 0; cleanup: virCommandSetDryRun(NULL, NULL, NULL); - virBufferFreeAndReset(&buf); VIR_FREE(actual); return ret; } @@ -431,7 +425,7 @@ testNWFilterEBIPTablesApplyDHCPOnlyRules(const void *opaque G_GNUC_UNUSED) static int testNWFilterEBIPTablesApplyDropAllRules(const void *opaque G_GNUC_UNUSED) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; const char *expected = VIR_NWFILTER_NEW_RULES_TEARDOWN "iptables -D libvirt-out -m physdev --physdev-is-bridged --physdev-out vnet0 -g FO-vnet0\n" @@ -491,7 +485,6 @@ testNWFilterEBIPTablesApplyDropAllRules(const void *opaque G_GNUC_UNUSED) ret = 0; cleanup: virCommandSetDryRun(NULL, NULL, NULL); - virBufferFreeAndReset(&buf); VIR_FREE(actual); return ret; } diff --git a/tests/nwfilterxml2firewalltest.c b/tests/nwfilterxml2firewalltest.c index da86ec9463..dff2b62028 100644 --- a/tests/nwfilterxml2firewalltest.c +++ b/tests/nwfilterxml2firewalltest.c @@ -368,7 +368,7 @@ static int testCompareXMLToArgvFiles(const char *xml, const char *cmdline) { char *actualargv = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virHashTablePtr vars = virNWFilterHashTableCreate(0); virNWFilterInst inst; int ret = -1; @@ -403,7 +403,6 @@ static int testCompareXMLToArgvFiles(const char *xml, ret = 0; cleanup: - virBufferFreeAndReset(&buf); VIR_FREE(actualargv); virNWFilterInstReset(&inst); virHashFree(vars); diff --git a/tests/qemublocktest.c b/tests/qemublocktest.c index 0ab599dd67..51283793e9 100644 --- a/tests/qemublocktest.c +++ b/tests/qemublocktest.c @@ -383,7 +383,7 @@ static int testQemuDiskXMLToPropsValidateFile(const void *opaque) { struct testQemuDiskXMLToJSONData *data = (void *) opaque; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; g_autofree char *jsonpath = NULL; g_autofree char *actual = NULL; size_t i; diff --git a/tests/qemucommandutiltest.c b/tests/qemucommandutiltest.c index 049fd2f0b0..305f59e76b 100644 --- a/tests/qemucommandutiltest.c +++ b/tests/qemucommandutiltest.c @@ -38,7 +38,7 @@ testQemuCommandBuildFromJSON(const void *opaque) { const testQemuCommandBuildObjectFromJSONData *data = opaque; virJSONValuePtr val = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; char *result = NULL; int ret = -1; diff --git a/tests/qemumigparamstest.c b/tests/qemumigparamstest.c index 954cd1c578..057cde5e72 100644 --- a/tests/qemumigparamstest.c +++ b/tests/qemumigparamstest.c @@ -58,7 +58,7 @@ static int qemuMigParamsTestXML2XML(const void *opaque) { const qemuMigParamsData *data = opaque; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; char *xmlFile = NULL; xmlDocPtr doc = NULL; xmlXPathContextPtr ctxt = NULL; @@ -89,7 +89,6 @@ qemuMigParamsTestXML2XML(const void *opaque) VIR_FREE(xmlFile); VIR_FREE(actualXML); qemuMigrationParamsFree(migParams); - virBufferFreeAndReset(&buf); xmlXPathFreeContext(ctxt); xmlFreeDoc(doc); return ret; @@ -100,7 +99,7 @@ static int qemuMigParamsTestXML(const void *opaque) { const qemuMigParamsData *data = opaque; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; char *replyFile = NULL; char *xmlFile = NULL; qemuMonitorTestPtr mon = NULL; @@ -140,7 +139,6 @@ qemuMigParamsTestXML(const void *opaque) VIR_FREE(actualXML); virJSONValueFree(params); qemuMigrationParamsFree(migParams); - virBufferFreeAndReset(&buf); qemuMonitorTestFree(mon); return ret; } diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index d2cd054dbf..741e36a491 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -2603,7 +2603,7 @@ static char * testQemuMonitorCPUInfoFormat(qemuMonitorCPUInfoPtr vcpus, size_t nvcpus) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; qemuMonitorCPUInfoPtr vcpu; size_t i; @@ -2781,7 +2781,7 @@ testBlockNodeNameDetect(const void *opaque) virJSONValuePtr namedNodesJson = NULL; virJSONValuePtr blockstatsJson = NULL; virHashTablePtr nodedata = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; int ret = -1; resultFile = g_strdup_printf("%s/%s%s.result", abs_srcdir, pathprefix, @@ -2855,7 +2855,7 @@ static int testQAPISchemaValidate(const void *opaque) { const struct testQAPISchemaData *data = opaque; - virBuffer debug = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) debug = VIR_BUFFER_INITIALIZER; virJSONValuePtr schemaroot; virJSONValuePtr json = NULL; int ret = -1; @@ -2883,7 +2883,6 @@ testQAPISchemaValidate(const void *opaque) cleanup: - virBufferFreeAndReset(&debug); virJSONValueFree(json); return ret; } @@ -2918,7 +2917,7 @@ testQueryJobs(const void *opaque) g_autofree char *filenameResult = NULL; g_autofree char *actual = NULL; qemuMonitorJobInfoPtr *jobs = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; size_t njobs = 0; size_t i; int ret = -1; diff --git a/tests/qemumonitortestutils.c b/tests/qemumonitortestutils.c index 6be7555dc0..180ac15a15 100644 --- a/tests/qemumonitortestutils.c +++ b/tests/qemumonitortestutils.c @@ -133,7 +133,7 @@ static int qemuMonitorTestAddErrorResponseInternal(qemuMonitorTestPtr test, const char *usermsg) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; g_autofree char *escapemsg = NULL; g_autofree char *jsonmsg = NULL; char *tmp; diff --git a/tests/testutils.c b/tests/testutils.c index 7f1776b244..a1cd093e4e 100644 --- a/tests/testutils.c +++ b/tests/testutils.c @@ -251,7 +251,7 @@ static char * virTestLoadFileGetPath(const char *p, va_list ap) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; char *path = NULL; virBufferAddLit(&buf, abs_srcdir "/"); diff --git a/tests/vboxsnapshotxmltest.c b/tests/vboxsnapshotxmltest.c index 2ea460d8bd..054e2a8e0d 100644 --- a/tests/vboxsnapshotxmltest.c +++ b/tests/vboxsnapshotxmltest.c @@ -18,7 +18,7 @@ GRegex *testSnapshotXMLVariableLineRegex = NULL; static char * testFilterXML(char *xml) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; char **xmlLines = NULL; char **xmlLine; char *ret = NULL; @@ -39,7 +39,6 @@ testFilterXML(char *xml) ret = virBufferContentAndReset(&buf); cleanup: - virBufferFreeAndReset(&buf); virStringListFree(xmlLines); return ret; } diff --git a/tests/virbuftest.c b/tests/virbuftest.c index f9d19ff1a1..39ae7c2b9d 100644 --- a/tests/virbuftest.c +++ b/tests/virbuftest.c @@ -17,7 +17,7 @@ struct testBufAddStrData { static int testBufAutoIndent(const void *data G_GNUC_UNUSED) { - virBuffer bufinit = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) bufinit = VIR_BUFFER_INITIALIZER; virBufferPtr buf = &bufinit; const char expected[] = " 1\n 2\n 3\n 4\n 5\n 6\n 7\n &\n 8\n 9\n 10\n ' 11'\n"; @@ -96,7 +96,7 @@ static int testBufAutoIndent(const void *data G_GNUC_UNUSED) static int testBufTrim(const void *data G_GNUC_UNUSED) { - virBuffer bufinit = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) bufinit = VIR_BUFFER_INITIALIZER; virBufferPtr buf = NULL; g_autofree char *result = NULL; const char *expected = "a,b"; @@ -126,7 +126,6 @@ static int testBufTrim(const void *data G_GNUC_UNUSED) ret = 0; cleanup: - virBufferFreeAndReset(buf); return ret; } @@ -134,7 +133,7 @@ static int testBufTrimChars(const void *opaque) { const struct testBufAddStrData *data = opaque; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; g_autofree char *actual = NULL; virBufferAddStr(&buf, data->data); @@ -156,9 +155,9 @@ testBufTrimChars(const void *opaque) static int testBufAddBuffer(const void *data G_GNUC_UNUSED) { - virBuffer buf1 = VIR_BUFFER_INITIALIZER; - virBuffer buf2 = VIR_BUFFER_INITIALIZER; - virBuffer buf3 = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf1 = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf2 = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf3 = VIR_BUFFER_INITIALIZER; int ret = -1; g_autofree char *result = NULL; const char *expected = \ @@ -259,8 +258,6 @@ static int testBufAddBuffer(const void *data G_GNUC_UNUSED) ret = 0; cleanup: - virBufferFreeAndReset(&buf1); - virBufferFreeAndReset(&buf2); return ret; } @@ -268,7 +265,7 @@ static int testBufAddStr(const void *opaque) { const struct testBufAddStrData *data = opaque; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; g_autofree char *actual = NULL; virBufferAddLit(&buf, "<c>\n"); @@ -296,7 +293,7 @@ static int testBufEscapeStr(const void *opaque) { const struct testBufAddStrData *data = opaque; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; g_autofree char *actual = NULL; virBufferAddLit(&buf, "<c>\n"); @@ -324,7 +321,7 @@ static int testBufEscapeRegex(const void *opaque) { const struct testBufAddStrData *data = opaque; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; g_autofree char *actual = NULL; virBufferEscapeRegex(&buf, "%s", data->data); @@ -347,7 +344,7 @@ testBufEscapeRegex(const void *opaque) static int testBufSetIndent(const void *opaque G_GNUC_UNUSED) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; g_autofree char *actual = NULL; virBufferSetIndent(&buf, 11); diff --git a/tests/vircgrouptest.c b/tests/vircgrouptest.c index 2d6f52fb6e..44e72cbfa9 100644 --- a/tests/vircgrouptest.c +++ b/tests/vircgrouptest.c @@ -184,7 +184,7 @@ testCgroupDetectMounts(const void *args) char *parsed = NULL; const char *actual; virCgroupPtr group = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; size_t i; g_setenv("VIR_CGROUP_MOCK_FILENAME", data->file, TRUE); @@ -218,7 +218,6 @@ testCgroupDetectMounts(const void *args) g_unsetenv("VIR_CGROUP_MOCK_FILENAME"); VIR_FREE(parsed); virCgroupFree(&group); - virBufferFreeAndReset(&buf); return result; } diff --git a/tests/virfirewalltest.c b/tests/virfirewalltest.c index c4827918c3..4105c1867e 100644 --- a/tests/virfirewalltest.c +++ b/tests/virfirewalltest.c @@ -199,7 +199,7 @@ struct testFirewallData { static int testFirewallSingleGroup(const void *opaque) { - virBuffer cmdbuf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) cmdbuf = VIR_BUFFER_INITIALIZER; virFirewallPtr fw = NULL; int ret = -1; const char *actual = NULL; @@ -244,7 +244,6 @@ testFirewallSingleGroup(const void *opaque) ret = 0; cleanup: - virBufferFreeAndReset(&cmdbuf); fwBuf = NULL; virCommandSetDryRun(NULL, NULL, NULL); virFirewallFree(fw); @@ -255,7 +254,7 @@ testFirewallSingleGroup(const void *opaque) static int testFirewallRemoveRule(const void *opaque) { - virBuffer cmdbuf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) cmdbuf = VIR_BUFFER_INITIALIZER; virFirewallPtr fw = NULL; int ret = -1; const char *actual = NULL; @@ -307,7 +306,6 @@ testFirewallRemoveRule(const void *opaque) ret = 0; cleanup: - virBufferFreeAndReset(&cmdbuf); fwBuf = NULL; virCommandSetDryRun(NULL, NULL, NULL); virFirewallFree(fw); @@ -318,7 +316,7 @@ testFirewallRemoveRule(const void *opaque) static int testFirewallManyGroups(const void *opaque G_GNUC_UNUSED) { - virBuffer cmdbuf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) cmdbuf = VIR_BUFFER_INITIALIZER; virFirewallPtr fw = NULL; int ret = -1; const char *actual = NULL; @@ -377,7 +375,6 @@ testFirewallManyGroups(const void *opaque G_GNUC_UNUSED) ret = 0; cleanup: - virBufferFreeAndReset(&cmdbuf); fwBuf = NULL; virCommandSetDryRun(NULL, NULL, NULL); virFirewallFree(fw); @@ -409,7 +406,7 @@ testFirewallRollbackHook(const char *const*args, static int testFirewallIgnoreFailGroup(const void *opaque G_GNUC_UNUSED) { - virBuffer cmdbuf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) cmdbuf = VIR_BUFFER_INITIALIZER; virFirewallPtr fw = NULL; int ret = -1; const char *actual = NULL; @@ -470,7 +467,6 @@ testFirewallIgnoreFailGroup(const void *opaque G_GNUC_UNUSED) ret = 0; cleanup: - virBufferFreeAndReset(&cmdbuf); fwBuf = NULL; virCommandSetDryRun(NULL, NULL, NULL); virFirewallFree(fw); @@ -481,7 +477,7 @@ testFirewallIgnoreFailGroup(const void *opaque G_GNUC_UNUSED) static int testFirewallIgnoreFailRule(const void *opaque G_GNUC_UNUSED) { - virBuffer cmdbuf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) cmdbuf = VIR_BUFFER_INITIALIZER; virFirewallPtr fw = NULL; int ret = -1; const char *actual = NULL; @@ -541,7 +537,6 @@ testFirewallIgnoreFailRule(const void *opaque G_GNUC_UNUSED) ret = 0; cleanup: - virBufferFreeAndReset(&cmdbuf); fwBuf = NULL; virCommandSetDryRun(NULL, NULL, NULL); virFirewallFree(fw); @@ -552,7 +547,7 @@ testFirewallIgnoreFailRule(const void *opaque G_GNUC_UNUSED) static int testFirewallNoRollback(const void *opaque G_GNUC_UNUSED) { - virBuffer cmdbuf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) cmdbuf = VIR_BUFFER_INITIALIZER; virFirewallPtr fw = NULL; int ret = -1; const char *actual = NULL; @@ -606,7 +601,6 @@ testFirewallNoRollback(const void *opaque G_GNUC_UNUSED) ret = 0; cleanup: - virBufferFreeAndReset(&cmdbuf); fwBuf = NULL; virCommandSetDryRun(NULL, NULL, NULL); virFirewallFree(fw); @@ -616,7 +610,7 @@ testFirewallNoRollback(const void *opaque G_GNUC_UNUSED) static int testFirewallSingleRollback(const void *opaque G_GNUC_UNUSED) { - virBuffer cmdbuf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) cmdbuf = VIR_BUFFER_INITIALIZER; virFirewallPtr fw = NULL; int ret = -1; const char *actual = NULL; @@ -690,7 +684,6 @@ testFirewallSingleRollback(const void *opaque G_GNUC_UNUSED) ret = 0; cleanup: - virBufferFreeAndReset(&cmdbuf); fwBuf = NULL; virCommandSetDryRun(NULL, NULL, NULL); virFirewallFree(fw); @@ -700,7 +693,7 @@ testFirewallSingleRollback(const void *opaque G_GNUC_UNUSED) static int testFirewallManyRollback(const void *opaque G_GNUC_UNUSED) { - virBuffer cmdbuf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) cmdbuf = VIR_BUFFER_INITIALIZER; virFirewallPtr fw = NULL; int ret = -1; const char *actual = NULL; @@ -777,7 +770,6 @@ testFirewallManyRollback(const void *opaque G_GNUC_UNUSED) ret = 0; cleanup: - virBufferFreeAndReset(&cmdbuf); fwBuf = NULL; virCommandSetDryRun(NULL, NULL, NULL); virFirewallFree(fw); @@ -787,7 +779,7 @@ testFirewallManyRollback(const void *opaque G_GNUC_UNUSED) static int testFirewallChainedRollback(const void *opaque G_GNUC_UNUSED) { - virBuffer cmdbuf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) cmdbuf = VIR_BUFFER_INITIALIZER; virFirewallPtr fw = NULL; int ret = -1; const char *actual = NULL; @@ -894,7 +886,6 @@ testFirewallChainedRollback(const void *opaque G_GNUC_UNUSED) ret = 0; cleanup: - virBufferFreeAndReset(&cmdbuf); fwBuf = NULL; virCommandSetDryRun(NULL, NULL, NULL); virFirewallFree(fw); @@ -981,7 +972,7 @@ testFirewallQueryCallback(virFirewallPtr fw, static int testFirewallQuery(const void *opaque G_GNUC_UNUSED) { - virBuffer cmdbuf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) cmdbuf = VIR_BUFFER_INITIALIZER; virFirewallPtr fw = NULL; int ret = -1; const char *actual = NULL; @@ -1073,7 +1064,6 @@ testFirewallQuery(const void *opaque G_GNUC_UNUSED) ret = 0; cleanup: - virBufferFreeAndReset(&cmdbuf); fwBuf = NULL; virCommandSetDryRun(NULL, NULL, NULL); virFirewallFree(fw); diff --git a/tests/virhostcputest.c b/tests/virhostcputest.c index 62bacddefb..7b83c7ae5d 100644 --- a/tests/virhostcputest.c +++ b/tests/virhostcputest.c @@ -112,7 +112,7 @@ linuxCPUStatsCompareFiles(const char *cpustatfile, char *actualData = NULL; FILE *cpustat = NULL; virNodeCPUStatsPtr params = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; size_t i; int nparams = 0; @@ -153,7 +153,6 @@ linuxCPUStatsCompareFiles(const char *cpustatfile, ret = 0; fail: - virBufferFreeAndReset(&buf); VIR_FORCE_FCLOSE(cpustat); VIR_FREE(actualData); VIR_FREE(params); diff --git a/tests/virkmodtest.c b/tests/virkmodtest.c index 3ba8c542d1..369eb8baca 100644 --- a/tests/virkmodtest.c +++ b/tests/virkmodtest.c @@ -60,7 +60,7 @@ testKModLoad(const void *args G_GNUC_UNUSED) { int ret = -1; char *errbuf = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virCommandSetDryRun(&buf, NULL, NULL); @@ -87,7 +87,7 @@ testKModUnload(const void *args G_GNUC_UNUSED) { int ret = -1; char *errbuf = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virCommandSetDryRun(&buf, NULL, NULL); diff --git a/tests/virnetdevbandwidthtest.c b/tests/virnetdevbandwidthtest.c index 8039fedbc4..5cbdd6ffea 100644 --- a/tests/virnetdevbandwidthtest.c +++ b/tests/virnetdevbandwidthtest.c @@ -70,7 +70,7 @@ testVirNetDevBandwidthSet(const void *data) const struct testSetStruct *info = data; const char *iface = info->iface; virNetDevBandwidthPtr band = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; char *actual_cmd = NULL; PARSE(info->band, band); @@ -99,7 +99,6 @@ testVirNetDevBandwidthSet(const void *data) cleanup: virCommandSetDryRun(NULL, NULL, NULL); virNetDevBandwidthFree(band); - virBufferFreeAndReset(&buf); VIR_FREE(actual_cmd); return ret; } -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Signed-off-by: Laine Stump <laine@redhat.com> --- tests/commandtest.c | 3 +-- tests/cputest.c | 2 +- tests/networkxml2firewalltest.c | 3 +-- tests/nodedevmdevctltest.c | 6 ++---- tests/nwfilterebiptablestest.c | 21 +++++++-------------- tests/nwfilterxml2firewalltest.c | 3 +-- tests/qemublocktest.c | 2 +- tests/qemucommandutiltest.c | 2 +- tests/qemumigparamstest.c | 6 ++---- tests/qemumonitorjsontest.c | 9 ++++----- tests/qemumonitortestutils.c | 2 +- tests/testutils.c | 2 +- tests/vboxsnapshotxmltest.c | 3 +-- tests/virbuftest.c | 23 ++++++++++------------- tests/vircgrouptest.c | 3 +-- tests/virfirewalltest.c | 30 ++++++++++-------------------- tests/virhostcputest.c | 3 +-- tests/virkmodtest.c | 4 ++-- tests/virnetdevbandwidthtest.c | 3 +-- 19 files changed, 49 insertions(+), 81 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Laine Stump <laine@redhat.com> --- tools/virsh-checkpoint.c | 3 +- tools/virsh-domain-monitor.c | 3 +- tools/virsh-domain.c | 58 +++++++++++++++++------------------- tools/virsh-pool.c | 6 ++-- tools/virsh-secret.c | 2 +- tools/virsh-snapshot.c | 3 +- tools/virsh-volume.c | 3 +- tools/vsh-table.c | 2 +- tools/vsh.c | 15 ++++------ 9 files changed, 42 insertions(+), 53 deletions(-) diff --git a/tools/virsh-checkpoint.c b/tools/virsh-checkpoint.c index 853fe05fc4..821212f86b 100644 --- a/tools/virsh-checkpoint.c +++ b/tools/virsh-checkpoint.c @@ -235,7 +235,7 @@ cmdCheckpointCreateAs(vshControl *ctl, char *buffer = NULL; const char *name = NULL; const char *desc = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; unsigned int flags = 0; const vshCmdOpt *opt = NULL; @@ -278,7 +278,6 @@ cmdCheckpointCreateAs(vshControl *ctl, ret = virshCheckpointCreate(ctl, dom, buffer, flags, NULL); cleanup: - virBufferFreeAndReset(&buf); VIR_FREE(buffer); virshDomainFree(dom); diff --git a/tools/virsh-domain-monitor.c b/tools/virsh-domain-monitor.c index 9b8c69fa9d..d8333a2f44 100644 --- a/tools/virsh-domain-monitor.c +++ b/tools/virsh-domain-monitor.c @@ -2413,7 +2413,7 @@ cmdDomIfAddr(vshControl *ctl, const vshCmd *cmd) } for (j = 0; j < iface->naddrs; j++) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; switch (iface->addrs[j].type) { case VIR_IP_ADDR_TYPE_IPV4: @@ -2442,7 +2442,6 @@ cmdDomIfAddr(vshControl *ctl, const vshCmd *cmd) vshPrint(ctl, " %-10s %-17s %s\n", "-", "-", ip_addr_str); - virBufferFreeAndReset(&buf); VIR_FREE(ip_addr_str); } } diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c index 085b88b097..f0f3456b77 100644 --- a/tools/virsh-domain.c +++ b/tools/virsh-domain.c @@ -575,7 +575,7 @@ cmdAttachDisk(vshControl *ctl, const vshCmd *cmd) int ret; unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT; const char *stype = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; char *xml = NULL; struct stat st; bool current = vshCommandOptBool(cmd, "current"); @@ -778,7 +778,6 @@ cmdAttachDisk(vshControl *ctl, const vshCmd *cmd) cleanup: VIR_FREE(xml); virshDomainFree(dom); - virBufferFreeAndReset(&buf); return functionReturn; } @@ -905,7 +904,7 @@ cmdAttachInterface(vshControl *ctl, const vshCmd *cmd) virDomainNetType typ; int ret; bool functionReturn = false; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; char *xml = NULL; unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT; bool current = vshCommandOptBool(cmd, "current"); @@ -1091,7 +1090,6 @@ cmdAttachInterface(vshControl *ctl, const vshCmd *cmd) cleanup: VIR_FREE(xml); virshDomainFree(dom); - virBufferFreeAndReset(&buf); return functionReturn; } @@ -2412,7 +2410,7 @@ cmdBlockcopy(vshControl *ctl, const vshCmd *cmd) } if (!xmlstr) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virBufferAsprintf(&buf, "<disk type='%s'>\n", blockdev ? "block" : "file"); virBufferAdjustIndent(&buf, 2); @@ -8504,7 +8502,7 @@ cmdDesc(vshControl *ctl, const vshCmd *cmd) char *tmp = NULL; char *tmpstr; const vshCmdOpt *opt = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; bool ret = false; unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT; @@ -9642,7 +9640,7 @@ cmdQemuMonitorCommand(vshControl *ctl, const vshCmd *cmd) g_autoptr(virJSONValue) resultjson = NULL; unsigned int flags = 0; const vshCmdOpt *opt = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; bool pretty = vshCommandOptBool(cmd, "pretty"); bool returnval = vshCommandOptBool(cmd, "return-value"); virJSONValuePtr formatjson; @@ -9956,7 +9954,7 @@ cmdQemuAgentCommand(vshControl *ctl, const vshCmd *cmd) int judge = 0; unsigned int flags = 0; const vshCmdOpt *opt = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virJSONValuePtr pretty = NULL; dom = virshCommandOptDomain(ctl, cmd, NULL); @@ -11506,7 +11504,7 @@ cmdDomDisplay(vshControl *ctl, const vshCmd *cmd) xmlDocPtr xml = NULL; xmlXPathContextPtr ctxt = NULL; virDomainPtr dom; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; bool ret = false; char *xpath = NULL; char *listen_addr = NULL; @@ -13202,7 +13200,7 @@ virshEventGenericPrint(virConnectPtr conn G_GNUC_UNUSED, virDomainPtr dom, void *opaque) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virBufferAsprintf(&buf, _("event '%s' for domain %s\n"), ((virshDomEventData *) opaque)->cb->name, @@ -13217,7 +13215,7 @@ virshEventLifecyclePrint(virConnectPtr conn G_GNUC_UNUSED, int detail, void *opaque) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virBufferAsprintf(&buf, _("event 'lifecycle' for domain %s: %s %s\n"), virDomainGetName(dom), @@ -13232,7 +13230,7 @@ virshEventRTCChangePrint(virConnectPtr conn G_GNUC_UNUSED, long long utcoffset, void *opaque) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virBufferAsprintf(&buf, _("event 'rtc-change' for domain %s: %lld\n"), virDomainGetName(dom), @@ -13246,7 +13244,7 @@ virshEventWatchdogPrint(virConnectPtr conn G_GNUC_UNUSED, int action, void *opaque) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virBufferAsprintf(&buf, _("event 'watchdog' for domain %s: %s\n"), virDomainGetName(dom), @@ -13262,7 +13260,7 @@ virshEventIOErrorPrint(virConnectPtr conn G_GNUC_UNUSED, int action, void *opaque) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virBufferAsprintf(&buf, _("event 'io-error' for domain %s: %s (%s) %s\n"), virDomainGetName(dom), @@ -13282,7 +13280,7 @@ virshEventGraphicsPrint(virConnectPtr conn G_GNUC_UNUSED, const virDomainEventGraphicsSubject *subject, void *opaque) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; size_t i; virBufferAsprintf(&buf, _("event 'graphics' for domain %s: " @@ -13313,7 +13311,7 @@ virshEventIOErrorReasonPrint(virConnectPtr conn G_GNUC_UNUSED, const char *reason, void *opaque) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virBufferAsprintf(&buf, _("event 'io-error-reason' for domain %s: " "%s (%s) %s due to %s\n"), @@ -13333,7 +13331,7 @@ virshEventBlockJobPrint(virConnectPtr conn G_GNUC_UNUSED, int status, void *opaque) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virBufferAsprintf(&buf, _("event '%s' for domain %s: %s for %s %s\n"), ((virshDomEventData *) opaque)->cb->name, @@ -13353,7 +13351,7 @@ virshEventDiskChangePrint(virConnectPtr conn G_GNUC_UNUSED, int reason, void *opaque) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virBufferAsprintf(&buf, _("event 'disk-change' for domain %s disk %s: " "%s -> %s: %s\n"), @@ -13372,7 +13370,7 @@ virshEventTrayChangePrint(virConnectPtr conn G_GNUC_UNUSED, int reason, void *opaque) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virBufferAsprintf(&buf, _("event 'tray-change' for domain %s disk %s: %s\n"), virDomainGetName(dom), @@ -13398,7 +13396,7 @@ virshEventBalloonChangePrint(virConnectPtr conn G_GNUC_UNUSED, unsigned long long actual, void *opaque) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virBufferAsprintf(&buf, _("event 'balloon-change' for domain %s: %lluKiB\n"), virDomainGetName(dom), @@ -13412,7 +13410,7 @@ virshEventDeviceRemovedPrint(virConnectPtr conn G_GNUC_UNUSED, const char *alias, void *opaque) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virBufferAsprintf(&buf, _("event 'device-removed' for domain %s: %s\n"), virDomainGetName(dom), @@ -13426,7 +13424,7 @@ virshEventDeviceAddedPrint(virConnectPtr conn G_GNUC_UNUSED, const char *alias, void *opaque) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virBufferAsprintf(&buf, _("event 'device-added' for domain %s: %s\n"), virDomainGetName(dom), @@ -13441,7 +13439,7 @@ virshEventTunablePrint(virConnectPtr conn G_GNUC_UNUSED, int nparams, void *opaque) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; size_t i; char *value; @@ -13479,7 +13477,7 @@ virshEventAgentLifecyclePrint(virConnectPtr conn G_GNUC_UNUSED, int reason, void *opaque) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virBufferAsprintf(&buf, _("event 'agent-lifecycle' for domain %s: state: " "'%s' reason: '%s'\n"), @@ -13495,7 +13493,7 @@ virshEventMigrationIterationPrint(virConnectPtr conn G_GNUC_UNUSED, int iteration, void *opaque) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virBufferAsprintf(&buf, _("event 'migration-iteration' for domain %s: " "iteration: '%d'\n"), @@ -13512,7 +13510,7 @@ virshEventJobCompletedPrint(virConnectPtr conn G_GNUC_UNUSED, int nparams, void *opaque) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; size_t i; char *value; @@ -13535,7 +13533,7 @@ virshEventDeviceRemovalFailedPrint(virConnectPtr conn G_GNUC_UNUSED, const char *alias, void *opaque) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virBufferAsprintf(&buf, _("event 'device-removal-failed' for domain %s: %s\n"), virDomainGetName(dom), @@ -13557,7 +13555,7 @@ virshEventMetadataChangePrint(virConnectPtr conn G_GNUC_UNUSED, const char *nsuri, void *opaque) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virBufferAsprintf(&buf, _("event 'metadata-change' for domain %s: %s %s\n"), virDomainGetName(dom), @@ -13576,7 +13574,7 @@ virshEventBlockThresholdPrint(virConnectPtr conn G_GNUC_UNUSED, unsigned long long excess, void *opaque) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virBufferAsprintf(&buf, _("event 'block-threshold' for domain %s: " "dev: %s(%s) %llu %llu\n"), @@ -14167,7 +14165,7 @@ cmdDomFSInfo(vshControl *ctl, const vshCmd *cmd) goto cleanup; for (i = 0; i < ninfos; i++) { - virBuffer targetsBuff = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) targetsBuff = VIR_BUFFER_INITIALIZER; g_autofree char *targets = NULL; for (j = 0; j < info[i]->ndevAlias; j++) diff --git a/tools/virsh-pool.c b/tools/virsh-pool.c index d190eed2b1..885e000ed2 100644 --- a/tools/virsh-pool.c +++ b/tools/virsh-pool.c @@ -325,7 +325,7 @@ virshBuildPoolXML(vshControl *ctl, *adapterWwnn = NULL, *adapterWwpn = NULL, *secretUUID = NULL, *adapterParentWwnn = NULL, *adapterParentWwpn = NULL, *adapterParentFabricWwn = NULL, *protoVer = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; VSH_EXCLUSIVE_OPTIONS("secret-usage", "secret-uuid"); @@ -421,7 +421,6 @@ virshBuildPoolXML(vshControl *ctl, return true; cleanup: - virBufferFreeAndReset(&buf); return false; } @@ -1450,11 +1449,10 @@ cmdPoolDiscoverSourcesAs(vshControl * ctl, const vshCmd * cmd G_GNUC_UNUSED) if (host) { const char *port = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (vshCommandOptStringReq(ctl, cmd, "port", &port) < 0) { vshError(ctl, "%s", _("missing argument")); - virBufferFreeAndReset(&buf); return false; } virBufferAddLit(&buf, "<source>\n"); diff --git a/tools/virsh-secret.c b/tools/virsh-secret.c index be4adc416e..7bd0acda58 100644 --- a/tools/virsh-secret.c +++ b/tools/virsh-secret.c @@ -585,7 +585,7 @@ cmdSecretList(vshControl *ctl, const vshCmd *cmd G_GNUC_UNUSED) int usageType = virSecretGetUsageType(sec); const char *usageStr = virSecretUsageTypeToString(usageType); char uuid[VIR_UUID_STRING_BUFLEN]; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; g_autofree char *usage = NULL; if (virSecretGetUUIDString(sec, uuid) < 0) { diff --git a/tools/virsh-snapshot.c b/tools/virsh-snapshot.c index d5e68e4b18..4ac6cb1dcd 100644 --- a/tools/virsh-snapshot.c +++ b/tools/virsh-snapshot.c @@ -395,7 +395,7 @@ cmdSnapshotCreateAs(vshControl *ctl, const vshCmd *cmd) const char *name = NULL; const char *desc = NULL; const char *memspec = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; unsigned int flags = VIR_DOMAIN_SNAPSHOT_CREATE_VALIDATE; const vshCmdOpt *opt = NULL; @@ -456,7 +456,6 @@ cmdSnapshotCreateAs(vshControl *ctl, const vshCmd *cmd) ret = virshSnapshotCreate(ctl, dom, buffer, flags, NULL); cleanup: - virBufferFreeAndReset(&buf); VIR_FREE(buffer); virshDomainFree(dom); diff --git a/tools/virsh-volume.c b/tools/virsh-volume.c index 72394915d8..fec8278a5d 100644 --- a/tools/virsh-volume.c +++ b/tools/virsh-volume.c @@ -226,7 +226,7 @@ cmdVolCreateAs(vshControl *ctl, const vshCmd *cmd) const char *name, *capacityStr = NULL, *allocationStr = NULL, *format = NULL; const char *snapshotStrVol = NULL, *snapshotStrFormat = NULL; unsigned long long capacity, allocation = 0; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; unsigned long flags = 0; virshControlPtr priv = ctl->privData; bool ret = false; @@ -356,7 +356,6 @@ cmdVolCreateAs(vshControl *ctl, const vshCmd *cmd) ret = true; cleanup: - virBufferFreeAndReset(&buf); if (vol) virStorageVolFree(vol); virStoragePoolFree(pool); diff --git a/tools/vsh-table.c b/tools/vsh-table.c index e21514e86f..60554b7b2f 100644 --- a/tools/vsh-table.c +++ b/tools/vsh-table.c @@ -368,7 +368,7 @@ vshTablePrint(vshTablePtr table, bool header) size_t j; size_t *maxwidths; size_t **widths; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; char *ret = NULL; if (VIR_ALLOC_N(maxwidths, table->rows[0]->ncells)) diff --git a/tools/vsh.c b/tools/vsh.c index 58bb1e6a3c..527c135424 100644 --- a/tools/vsh.c +++ b/tools/vsh.c @@ -2183,7 +2183,7 @@ void vshOutputLogFile(vshControl *ctl, int log_level, const char *msg_format, va_list ap) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; char *str = NULL; size_t len; const char *lvl = ""; @@ -2241,7 +2241,6 @@ vshOutputLogFile(vshControl *ctl, int log_level, const char *msg_format, error: vshCloseLogFile(ctl); vshError(ctl, "%s", _("failed to write the log file")); - virBufferFreeAndReset(&buf); VIR_FREE(str); } @@ -2531,13 +2530,12 @@ vshTreePrint(vshControl *ctl, vshTreeLookup lookup, void *opaque, int num_devices, int devid) { int ret; - virBuffer indent = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) indent = VIR_BUFFER_INITIALIZER; ret = vshTreePrintInternal(ctl, lookup, opaque, num_devices, devid, devid, true, &indent); if (ret < 0) vshError(ctl, "%s", _("Failed to complete tree listing")); - virBufferFreeAndReset(&indent); return ret; } @@ -2806,7 +2804,7 @@ vshReadlineParse(const char *text, int state) if (ret && !rl_completion_quote_character) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virBufferEscapeShell(&buf, ret); VIR_FREE(ret); ret = virBufferContentAndReset(&buf); @@ -3217,7 +3215,7 @@ cmdEcho(vshControl *ctl, const vshCmd *cmd) int count = 0; const vshCmdOpt *opt = NULL; char *arg; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (vshCommandOptBool(cmd, "shell")) shell = true; @@ -3228,7 +3226,7 @@ cmdEcho(vshControl *ctl, const vshCmd *cmd) while ((opt = vshCommandOptArgv(ctl, cmd, opt))) { char *str; - virBuffer xmlbuf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) xmlbuf = VIR_BUFFER_INITIALIZER; arg = opt->data; @@ -3366,7 +3364,7 @@ cmdComplete(vshControl *ctl, const vshCmd *cmd) const char *arg = ""; const vshCmdOpt *opt = NULL; char **matches = NULL, **iter; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (vshCommandOptStringQuiet(ctl, cmd, "string", &arg) <= 0) goto cleanup; @@ -3406,7 +3404,6 @@ cmdComplete(vshControl *ctl, const vshCmd *cmd) ret = true; cleanup: - virBufferFreeAndReset(&buf); virStringListFree(matches); return ret; } -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Signed-off-by: Laine Stump <laine@redhat.com> --- tools/virsh-checkpoint.c | 3 +- tools/virsh-domain-monitor.c | 3 +- tools/virsh-domain.c | 58 +++++++++++++++++------------------- tools/virsh-pool.c | 6 ++-- tools/virsh-secret.c | 2 +- tools/virsh-snapshot.c | 3 +- tools/virsh-volume.c | 3 +- tools/vsh-table.c | 2 +- tools/vsh.c | 15 ++++------ 9 files changed, 42 insertions(+), 53 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Laine Stump <laine@redhat.com> --- src/conf/capabilities.c | 8 +++----- src/conf/checkpoint_conf.c | 2 +- src/conf/cpu_conf.c | 9 +++------ src/conf/domain_addr.c | 2 +- src/conf/domain_capabilities.c | 2 +- src/conf/domain_conf.c | 12 ++++++------ src/conf/interface_conf.c | 7 +++---- src/conf/network_conf.c | 3 +-- src/conf/node_device_conf.c | 2 +- src/conf/nwfilter_conf.c | 7 +++---- src/conf/secret_conf.c | 3 +-- src/conf/snapshot_conf.c | 2 +- src/conf/storage_capabilities.c | 6 ++---- src/conf/storage_conf.c | 11 ++++------- src/conf/virnetworkobj.c | 3 +-- src/conf/virnetworkportdef.c | 6 ++---- src/conf/virnwfilterbindingdef.c | 6 ++---- src/conf/virnwfilterbindingobj.c | 6 ++---- src/conf/virsavecookie.c | 3 +-- 19 files changed, 39 insertions(+), 61 deletions(-) diff --git a/src/conf/capabilities.c b/src/conf/capabilities.c index 99b69aebb5..6a48af1fca 100644 --- a/src/conf/capabilities.c +++ b/src/conf/capabilities.c @@ -705,7 +705,7 @@ virCapabilitiesDomainDataLookupInternal(virCapsPtr caps, /* XXX check default_emulator, see how it uses this */ if (!foundguest) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (ostype) virBufferAsprintf(&buf, "ostype=%s ", virDomainOSTypeToString(ostype)); @@ -725,7 +725,6 @@ virCapabilitiesDomainDataLookupInternal(virCapsPtr caps, virReportError(VIR_ERR_INVALID_ARG, _("could not find capabilities for %s"), virBufferCurrentContent(&buf)); - virBufferFreeAndReset(&buf); return ret; } @@ -901,7 +900,7 @@ virCapabilitiesFormatResctrlMonitor(virBufferPtr buf, virResctrlInfoMonPtr monitor) { size_t i = 0; - virBuffer childrenBuf = VIR_BUFFER_INIT_CHILD(buf); + g_auto(virBuffer) childrenBuf = VIR_BUFFER_INIT_CHILD(buf); /* monitor not supported, no capability */ if (!monitor) @@ -1335,7 +1334,7 @@ virCapabilitiesFormatStoragePoolXML(virCapsStoragePoolPtr *pools, char * virCapabilitiesFormatXML(virCapsPtr caps) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virBufferAddLit(&buf, "<capabilities>\n\n"); virBufferAdjustIndent(&buf, 2); @@ -1353,7 +1352,6 @@ virCapabilitiesFormatXML(virCapsPtr caps) return virBufferContentAndReset(&buf); error: - virBufferFreeAndReset(&buf); return NULL; } diff --git a/src/conf/checkpoint_conf.c b/src/conf/checkpoint_conf.c index d557fada49..e0dce9c2ed 100644 --- a/src/conf/checkpoint_conf.c +++ b/src/conf/checkpoint_conf.c @@ -502,7 +502,7 @@ virDomainCheckpointDefFormat(virDomainCheckpointDefPtr def, virDomainXMLOptionPtr xmlopt, unsigned int flags) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virCheckFlags(VIR_DOMAIN_CHECKPOINT_FORMAT_SECURE | VIR_DOMAIN_CHECKPOINT_FORMAT_NO_DOMAIN | diff --git a/src/conf/cpu_conf.c b/src/conf/cpu_conf.c index e1b0a5653f..dd3db00bc8 100644 --- a/src/conf/cpu_conf.c +++ b/src/conf/cpu_conf.c @@ -668,7 +668,7 @@ char * virCPUDefFormat(virCPUDefPtr def, virDomainNumaPtr numa) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (virCPUDefFormatBufFull(&buf, def, numa) < 0) goto cleanup; @@ -676,7 +676,6 @@ virCPUDefFormat(virCPUDefPtr def, return virBufferContentAndReset(&buf); cleanup: - virBufferFreeAndReset(&buf); return NULL; } @@ -687,8 +686,8 @@ virCPUDefFormatBufFull(virBufferPtr buf, virDomainNumaPtr numa) { int ret = -1; - virBuffer attributeBuf = VIR_BUFFER_INITIALIZER; - virBuffer childrenBuf = VIR_BUFFER_INIT_CHILD(buf); + g_auto(virBuffer) attributeBuf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) childrenBuf = VIR_BUFFER_INIT_CHILD(buf); if (!def) return 0; @@ -755,8 +754,6 @@ virCPUDefFormatBufFull(virBufferPtr buf, ret = 0; cleanup: - virBufferFreeAndReset(&attributeBuf); - virBufferFreeAndReset(&childrenBuf); return ret; } diff --git a/src/conf/domain_addr.c b/src/conf/domain_addr.c index 2f9ff899d7..1068cbf1d2 100644 --- a/src/conf/domain_addr.c +++ b/src/conf/domain_addr.c @@ -1941,7 +1941,7 @@ virDomainUSBAddressPortFormatBuf(virBufferPtr buf, static char * ATTRIBUTE_NONNULL(1) virDomainUSBAddressPortFormat(unsigned int *port) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virDomainUSBAddressPortFormatBuf(&buf, port); return virBufferContentAndReset(&buf); } diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c index 0fa8aee78e..837b004334 100644 --- a/src/conf/domain_capabilities.c +++ b/src/conf/domain_capabilities.c @@ -596,7 +596,7 @@ virDomainCapsFormatFeatures(const virDomainCaps *caps, char * virDomainCapsFormat(const virDomainCaps *caps) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; const char *virttype_str = virDomainVirtTypeToString(caps->virttype); const char *arch_str = virArchToString(caps->arch); diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index f076c0718c..c02d1c8bd2 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -25332,7 +25332,7 @@ static int virDomainDiskDefFormatIotune(virBufferPtr buf, virDomainDiskDefPtr disk) { - virBuffer childBuf = VIR_BUFFER_INIT_CHILD(buf); + g_auto(virBuffer) childBuf = VIR_BUFFER_INIT_CHILD(buf); FORMAT_IOTUNE(total_bytes_sec); FORMAT_IOTUNE(read_bytes_sec); @@ -25377,7 +25377,7 @@ static int virDomainDiskDefFormatDriver(virBufferPtr buf, virDomainDiskDefPtr disk) { - virBuffer driverBuf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) driverBuf = VIR_BUFFER_INITIALIZER; virBufferEscapeString(&driverBuf, " name='%s'", virDomainDiskGetDriver(disk)); @@ -26361,7 +26361,7 @@ static int virDomainVirtioNetGuestOptsFormat(char **outstr, virDomainNetDefPtr def) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (def->driver.virtio.guest.csum) { virBufferAsprintf(&buf, "csum='%s' ", virTristateSwitchTypeToString(def->driver.virtio.guest.csum)); @@ -26393,7 +26393,7 @@ static int virDomainVirtioNetHostOptsFormat(char **outstr, virDomainNetDefPtr def) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (def->driver.virtio.host.csum) { virBufferAsprintf(&buf, "csum='%s' ", virTristateSwitchTypeToString(def->driver.virtio.host.csum)); @@ -26433,7 +26433,7 @@ static int virDomainVirtioNetDriverFormat(char **outstr, virDomainNetDefPtr def) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (def->driver.virtio.name) { virBufferAsprintf(&buf, " name='%s'", virDomainNetBackendTypeToString(def->driver.virtio.name)); @@ -30065,7 +30065,7 @@ virDomainDefFormat(virDomainDefPtr def, virDomainXMLOptionPtr xmlopt, unsigned int flags) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virCheckFlags(VIR_DOMAIN_DEF_FORMAT_COMMON_FLAGS, NULL); if (virDomainDefFormatInternal(def, xmlopt, &buf, flags) < 0) diff --git a/src/conf/interface_conf.c b/src/conf/interface_conf.c index be5e1133a2..76f7054721 100644 --- a/src/conf/interface_conf.c +++ b/src/conf/interface_conf.c @@ -1122,11 +1122,10 @@ virInterfaceDefDevFormat(virBufferPtr buf, char * virInterfaceDefFormat(const virInterfaceDef *def) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; - if (virInterfaceDefDevFormat(&buf, def, VIR_INTERFACE_TYPE_LAST) < 0) { - virBufferFreeAndReset(&buf); + if (virInterfaceDefDevFormat(&buf, def, VIR_INTERFACE_TYPE_LAST) < 0) return NULL; - } + return virBufferContentAndReset(&buf); } diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c index 4ebad1483c..99f11fdf05 100644 --- a/src/conf/network_conf.c +++ b/src/conf/network_conf.c @@ -2718,7 +2718,7 @@ virNetworkDefFormat(const virNetworkDef *def, virNetworkXMLOptionPtr xmlopt, unsigned int flags) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (virNetworkDefFormatBuf(&buf, def, xmlopt, flags) < 0) goto error; @@ -2726,7 +2726,6 @@ virNetworkDefFormat(const virNetworkDef *def, return virBufferContentAndReset(&buf); error: - virBufferFreeAndReset(&buf); return NULL; } diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c index 78a537d0ea..c54015336a 100644 --- a/src/conf/node_device_conf.c +++ b/src/conf/node_device_conf.c @@ -520,7 +520,7 @@ virNodeDeviceCapMdevDefFormat(virBufferPtr buf, char * virNodeDeviceDefFormat(const virNodeDeviceDef *def) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virNodeDevCapsDefPtr caps; size_t i = 0; diff --git a/src/conf/nwfilter_conf.c b/src/conf/nwfilter_conf.c index 732c05ac89..3827c65462 100644 --- a/src/conf/nwfilter_conf.c +++ b/src/conf/nwfilter_conf.c @@ -948,7 +948,7 @@ printTCPFlags(virBufferPtr buf, char * virNWFilterPrintTCPFlags(uint8_t flags) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; printTCPFlags(&buf, flags); return virBufferContentAndReset(&buf); } @@ -2561,7 +2561,7 @@ virNWFilterIsAllowedChain(const char *chainname) virNWFilterChainSuffixType i; const char *name; char *msg; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; bool printed = false; if (!virNWFilterIsValidChainName(chainname)) @@ -3044,7 +3044,7 @@ virNWFilterEntryFormat(virBufferPtr buf, char * virNWFilterDefFormat(const virNWFilterDef *def) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; char uuid[VIR_UUID_STRING_BUFLEN]; size_t i; @@ -3071,7 +3071,6 @@ virNWFilterDefFormat(const virNWFilterDef *def) return virBufferContentAndReset(&buf); err_exit: - virBufferFreeAndReset(&buf); return NULL; } diff --git a/src/conf/secret_conf.c b/src/conf/secret_conf.c index 0ec9bce987..3960cf04ad 100644 --- a/src/conf/secret_conf.c +++ b/src/conf/secret_conf.c @@ -277,7 +277,7 @@ virSecretDefFormatUsage(virBufferPtr buf, char * virSecretDefFormat(const virSecretDef *def) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; const unsigned char *uuid; char uuidstr[VIR_UUID_STRING_BUFLEN]; @@ -301,6 +301,5 @@ virSecretDefFormat(const virSecretDef *def) return virBufferContentAndReset(&buf); error: - virBufferFreeAndReset(&buf); return NULL; } diff --git a/src/conf/snapshot_conf.c b/src/conf/snapshot_conf.c index f73eeb06c7..9767592bfc 100644 --- a/src/conf/snapshot_conf.c +++ b/src/conf/snapshot_conf.c @@ -927,7 +927,7 @@ virDomainSnapshotDefFormat(const char *uuidstr, virDomainXMLOptionPtr xmlopt, unsigned int flags) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virCheckFlags(VIR_DOMAIN_SNAPSHOT_FORMAT_SECURE | VIR_DOMAIN_SNAPSHOT_FORMAT_INTERNAL | diff --git a/src/conf/storage_capabilities.c b/src/conf/storage_capabilities.c index 1a3417f90b..cac238c4f2 100644 --- a/src/conf/storage_capabilities.c +++ b/src/conf/storage_capabilities.c @@ -117,16 +117,14 @@ virStoragePoolCapsFormatPool(virBufferPtr buf, char * virStoragePoolCapsFormat(const virStoragePoolCaps *caps) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; size_t i; virBufferAddLit(&buf, "<storagepoolCapabilities>\n"); virBufferAdjustIndent(&buf, 2); for (i = 0; i < VIR_STORAGE_POOL_LAST; i++) { - if (virStoragePoolCapsFormatPool(&buf, i, caps) < 0) { - virBufferFreeAndReset(&buf); + if (virStoragePoolCapsFormatPool(&buf, i, caps) < 0) return NULL; - } } virBufferAdjustIndent(&buf, -2); virBufferAddLit(&buf, "</storagepoolCapabilities>\n"); diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c index 5669b92f8d..7bc743887c 100644 --- a/src/conf/storage_conf.c +++ b/src/conf/storage_conf.c @@ -1223,7 +1223,7 @@ virStoragePoolDefFormatBuf(virBufferPtr buf, char * virStoragePoolDefFormat(virStoragePoolDefPtr def) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (virStoragePoolDefFormatBuf(&buf, def) < 0) goto error; @@ -1231,7 +1231,6 @@ virStoragePoolDefFormat(virStoragePoolDefPtr def) return virBufferContentAndReset(&buf); error: - virBufferFreeAndReset(&buf); return NULL; } @@ -1594,7 +1593,7 @@ virStorageVolDefFormat(virStoragePoolDefPtr pool, virStorageVolDefPtr def) { virStorageVolOptionsPtr options; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; options = virStorageVolOptionsForPoolType(pool->type); if (options == NULL) @@ -1663,7 +1662,6 @@ virStorageVolDefFormat(virStoragePoolDefPtr pool, return virBufferContentAndReset(&buf); cleanup: - virBufferFreeAndReset(&buf); return NULL; } @@ -1686,7 +1684,7 @@ int virStoragePoolSaveState(const char *stateFile, virStoragePoolDefPtr def) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; g_autofree char *xml = NULL; virBufferAddLit(&buf, "<poolstate>\n"); @@ -1743,7 +1741,7 @@ char * virStoragePoolSourceListFormat(virStoragePoolSourceListPtr def) { virStoragePoolOptionsPtr options; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; const char *type; size_t i; @@ -1770,6 +1768,5 @@ virStoragePoolSourceListFormat(virStoragePoolSourceListPtr def) return virBufferContentAndReset(&buf); cleanup: - virBufferFreeAndReset(&buf); return NULL; } diff --git a/src/conf/virnetworkobj.c b/src/conf/virnetworkobj.c index b2affaacd3..5d90dec2bc 100644 --- a/src/conf/virnetworkobj.c +++ b/src/conf/virnetworkobj.c @@ -815,7 +815,7 @@ virNetworkObjFormat(virNetworkObjPtr obj, virNetworkXMLOptionPtr xmlopt, unsigned int flags) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; char *classIdStr = virBitmapFormat(obj->classIdMap); size_t i; @@ -843,7 +843,6 @@ virNetworkObjFormat(virNetworkObjPtr obj, return virBufferContentAndReset(&buf); error: - virBufferFreeAndReset(&buf); return NULL; } diff --git a/src/conf/virnetworkportdef.c b/src/conf/virnetworkportdef.c index 2013e11dff..1db3dc69e2 100644 --- a/src/conf/virnetworkportdef.c +++ b/src/conf/virnetworkportdef.c @@ -324,12 +324,10 @@ virNetworkPortDefParseFile(const char *filename) char * virNetworkPortDefFormat(const virNetworkPortDef *def) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; - if (virNetworkPortDefFormatBuf(&buf, def) < 0) { - virBufferFreeAndReset(&buf); + if (virNetworkPortDefFormatBuf(&buf, def) < 0) return NULL; - } return virBufferContentAndReset(&buf); } diff --git a/src/conf/virnwfilterbindingdef.c b/src/conf/virnwfilterbindingdef.c index 7d813353ef..f286bdd840 100644 --- a/src/conf/virnwfilterbindingdef.c +++ b/src/conf/virnwfilterbindingdef.c @@ -223,12 +223,10 @@ virNWFilterBindingDefParseFile(const char *filename) char * virNWFilterBindingDefFormat(const virNWFilterBindingDef *def) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; - if (virNWFilterBindingDefFormatBuf(&buf, def) < 0) { - virBufferFreeAndReset(&buf); + if (virNWFilterBindingDefFormatBuf(&buf, def) < 0) return NULL; - } return virBufferContentAndReset(&buf); } diff --git a/src/conf/virnwfilterbindingobj.c b/src/conf/virnwfilterbindingobj.c index 7cfc2e9efa..584721f8b6 100644 --- a/src/conf/virnwfilterbindingobj.c +++ b/src/conf/virnwfilterbindingobj.c @@ -284,16 +284,14 @@ virNWFilterBindingObjParseFile(const char *filename) char * virNWFilterBindingObjFormat(const virNWFilterBindingObj *obj) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virBufferAddLit(&buf, "<filterbindingstatus>\n"); virBufferAdjustIndent(&buf, 2); - if (virNWFilterBindingDefFormatBuf(&buf, obj->def) < 0) { - virBufferFreeAndReset(&buf); + if (virNWFilterBindingDefFormatBuf(&buf, obj->def) < 0) return NULL; - } virBufferAdjustIndent(&buf, -2); virBufferAddLit(&buf, "</filterbindingstatus>\n"); diff --git a/src/conf/virsavecookie.c b/src/conf/virsavecookie.c index 7fc951afe2..429daf69be 100644 --- a/src/conf/virsavecookie.c +++ b/src/conf/virsavecookie.c @@ -127,7 +127,7 @@ char * virSaveCookieFormat(virObjectPtr obj, virSaveCookieCallbacksPtr saveCookie) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (virSaveCookieFormatBuf(&buf, obj, saveCookie) < 0) goto error; @@ -135,6 +135,5 @@ virSaveCookieFormat(virObjectPtr obj, return virBufferContentAndReset(&buf); error: - virBufferFreeAndReset(&buf); return NULL; } -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Signed-off-by: Laine Stump <laine@redhat.com> --- src/conf/capabilities.c | 8 +++----- src/conf/checkpoint_conf.c | 2 +- src/conf/cpu_conf.c | 9 +++------ src/conf/domain_addr.c | 2 +- src/conf/domain_capabilities.c | 2 +- src/conf/domain_conf.c | 12 ++++++------ src/conf/interface_conf.c | 7 +++---- src/conf/network_conf.c | 3 +-- src/conf/node_device_conf.c | 2 +- src/conf/nwfilter_conf.c | 7 +++---- src/conf/secret_conf.c | 3 +-- src/conf/snapshot_conf.c | 2 +- src/conf/storage_capabilities.c | 6 ++---- src/conf/storage_conf.c | 11 ++++------- src/conf/virnetworkobj.c | 3 +-- src/conf/virnetworkportdef.c | 6 ++---- src/conf/virnwfilterbindingdef.c | 6 ++---- src/conf/virnwfilterbindingobj.c | 6 ++---- src/conf/virsavecookie.c | 3 +-- 19 files changed, 39 insertions(+), 61 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Laine Stump <laine@redhat.com> --- src/util/virbitmap.c | 4 ++-- src/util/vircommand.c | 3 +-- src/util/virconf.c | 5 ++--- src/util/virdnsmasq.c | 6 ++---- src/util/virfile.c | 2 +- src/util/virfilecache.c | 2 +- src/util/virfirewall.c | 2 +- src/util/virlog.c | 5 ++--- src/util/virnetdevip.c | 3 +-- src/util/virpidfile.c | 2 +- src/util/virqemu.c | 3 +-- src/util/virresctrl.c | 10 +++------- src/util/virsocketaddr.c | 3 +-- src/util/virstoragefile.c | 2 +- src/util/virstring.c | 4 ++-- src/util/virsysinfo.c | 4 ++-- src/util/virsystemd.c | 4 ++-- src/util/viruri.c | 2 +- src/util/virxml.c | 3 +-- 19 files changed, 28 insertions(+), 41 deletions(-) diff --git a/src/util/virbitmap.c b/src/util/virbitmap.c index d38a2dd7e9..60fd8491dd 100644 --- a/src/util/virbitmap.c +++ b/src/util/virbitmap.c @@ -345,7 +345,7 @@ virBitmapToString(virBitmapPtr bitmap, bool prefix, bool trim) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; size_t sz; size_t len; size_t diff; @@ -404,7 +404,7 @@ virBitmapToString(virBitmapPtr bitmap, char * virBitmapFormat(virBitmapPtr bitmap) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; bool first = true; int start, cur, prev; diff --git a/src/util/vircommand.c b/src/util/vircommand.c index aae0ddb730..e21116b232 100644 --- a/src/util/vircommand.c +++ b/src/util/vircommand.c @@ -2080,7 +2080,7 @@ char * virCommandToString(virCommandPtr cmd, bool linebreaks) { size_t i; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; bool prevopt = false; /* Cannot assume virCommandRun will be called; so report the error @@ -2101,7 +2101,6 @@ virCommandToString(virCommandPtr cmd, bool linebreaks) char *eq = strchr(cmd->env[i], '='); if (!eq) { - virBufferFreeAndReset(&buf); virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("invalid use of command API")); return NULL; diff --git a/src/util/virconf.c b/src/util/virconf.c index f79024f07a..77ca3f9b79 100644 --- a/src/util/virconf.c +++ b/src/util/virconf.c @@ -1419,7 +1419,7 @@ int virConfWalk(virConfPtr conf, int virConfWriteFile(const char *filename, virConfPtr conf) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virConfEntryPtr cur; int ret; int fd; @@ -1437,7 +1437,6 @@ virConfWriteFile(const char *filename, virConfPtr conf) fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR); if (fd < 0) { - virBufferFreeAndReset(&buf); virConfError(NULL, VIR_ERR_WRITE_FAILED, _("failed to open file")); return -1; } @@ -1471,7 +1470,7 @@ virConfWriteFile(const char *filename, virConfPtr conf) int virConfWriteMem(char *memory, int *len, virConfPtr conf) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virConfEntryPtr cur; char *content; unsigned int use; diff --git a/src/util/virdnsmasq.c b/src/util/virdnsmasq.c index 818219fbeb..b22d4622d5 100644 --- a/src/util/virdnsmasq.c +++ b/src/util/virdnsmasq.c @@ -139,7 +139,7 @@ addnhostsNew(const char *name, const char *config_dir) { dnsmasqAddnHostsfile *addnhostsfile; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (VIR_ALLOC(addnhostsfile) < 0) return NULL; @@ -157,7 +157,6 @@ addnhostsNew(const char *name, return addnhostsfile; error: - virBufferFreeAndReset(&buf); addnhostsFree(addnhostsfile); return NULL; } @@ -342,7 +341,7 @@ hostsfileNew(const char *name, const char *config_dir) { dnsmasqHostsfile *hostsfile; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (VIR_ALLOC(hostsfile) < 0) return NULL; @@ -359,7 +358,6 @@ hostsfileNew(const char *name, return hostsfile; error: - virBufferFreeAndReset(&buf); hostsfileFree(hostsfile); return NULL; } diff --git a/src/util/virfile.c b/src/util/virfile.c index c034df5931..213acdbcaa 100644 --- a/src/util/virfile.c +++ b/src/util/virfile.c @@ -1303,7 +1303,7 @@ int virBuildPathInternal(char **path, ...) { char *path_component = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; va_list ap; int ret = 0; diff --git a/src/util/virfilecache.c b/src/util/virfilecache.c index 2162917b11..195587e6bd 100644 --- a/src/util/virfilecache.c +++ b/src/util/virfilecache.c @@ -101,7 +101,7 @@ virFileCacheGetFileName(virFileCachePtr cache, const char *name) { g_autofree char *namehash = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (virCryptoHashString(VIR_CRYPTO_HASH_SHA256, name, &namehash) < 0) return NULL; diff --git a/src/util/virfirewall.c b/src/util/virfirewall.c index 22760e6389..12905165d4 100644 --- a/src/util/virfirewall.c +++ b/src/util/virfirewall.c @@ -641,7 +641,7 @@ static char * virFirewallRuleToString(virFirewallRulePtr rule) { const char *bin = virFirewallLayerCommandTypeToString(rule->layer); - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; size_t i; virBufferAdd(&buf, bin, -1); diff --git a/src/util/virlog.c b/src/util/virlog.c index 2c18eeed03..dabfe7e501 100644 --- a/src/util/virlog.c +++ b/src/util/virlog.c @@ -1071,7 +1071,7 @@ char * virLogGetFilters(void) { size_t i; - virBuffer filterbuf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) filterbuf = VIR_BUFFER_INITIALIZER; virLogLock(); for (i = 0; i < virLogNbFilters; i++) { @@ -1098,7 +1098,7 @@ char * virLogGetOutputs(void) { size_t i; - virBuffer outputbuf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) outputbuf = VIR_BUFFER_INITIALIZER; virLogLock(); for (i = 0; i < virLogNbOutputs; i++) { @@ -1131,7 +1131,6 @@ virLogGetOutputs(void) error: virLogUnlock(); - virBufferFreeAndReset(&outputbuf); return NULL; } diff --git a/src/util/virnetdevip.c b/src/util/virnetdevip.c index cb624c7eec..ba9e567e5a 100644 --- a/src/util/virnetdevip.c +++ b/src/util/virnetdevip.c @@ -660,7 +660,7 @@ virNetDevIPCheckIPv6Forwarding(void) } if (!valid) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; for (i = 0; i < data.ndevices; i++) { virBufferAdd(&buf, data.devices[i], -1); if (i < data.ndevices - 1) @@ -672,7 +672,6 @@ virNetDevIPCheckIPv6Forwarding(void) "RA routes without accept_ra set to 2 is likely to cause " "routes loss. Interfaces to look at: %s"), virBufferCurrentContent(&buf)); - virBufferFreeAndReset(&buf); } cleanup: diff --git a/src/util/virpidfile.c b/src/util/virpidfile.c index 1a6fbdc552..895eb83ea9 100644 --- a/src/util/virpidfile.c +++ b/src/util/virpidfile.c @@ -42,7 +42,7 @@ VIR_LOG_INIT("util.pidfile"); char *virPidFileBuildPath(const char *dir, const char* name) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virBufferAsprintf(&buf, "%s", dir); virBufferEscapeString(&buf, "/%s.pid", name); diff --git a/src/util/virqemu.c b/src/util/virqemu.c index 321ddeb7e3..52f3a2ca12 100644 --- a/src/util/virqemu.c +++ b/src/util/virqemu.c @@ -360,7 +360,7 @@ virQEMUBuildObjectCommandlineFromJSON(virBufferPtr buf, char * virQEMUBuildDriveCommandlineFromJSON(virJSONValuePtr srcdef) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; char *ret = NULL; if (virQEMUBuildCommandLineJSON(srcdef, &buf, NULL, false, @@ -370,7 +370,6 @@ virQEMUBuildDriveCommandlineFromJSON(virJSONValuePtr srcdef) ret = virBufferContentAndReset(&buf); cleanup: - virBufferFreeAndReset(&buf); return ret; } diff --git a/src/util/virresctrl.c b/src/util/virresctrl.c index e17f6bd1bd..33044da3a1 100644 --- a/src/util/virresctrl.c +++ b/src/util/virresctrl.c @@ -1587,20 +1587,16 @@ virResctrlAllocFormatCache(virResctrlAllocPtr alloc, char * virResctrlAllocFormat(virResctrlAllocPtr alloc) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (!alloc) return NULL; - if (virResctrlAllocFormatCache(alloc, &buf) < 0) { - virBufferFreeAndReset(&buf); + if (virResctrlAllocFormatCache(alloc, &buf) < 0) return NULL; - } - if (virResctrlAllocMemoryBandwidthFormat(alloc, &buf) < 0) { - virBufferFreeAndReset(&buf); + if (virResctrlAllocMemoryBandwidthFormat(alloc, &buf) < 0) return NULL; - } return virBufferContentAndReset(&buf); } diff --git a/src/util/virsocketaddr.c b/src/util/virsocketaddr.c index a858a69204..0fda8e101b 100644 --- a/src/util/virsocketaddr.c +++ b/src/util/virsocketaddr.c @@ -1263,7 +1263,7 @@ virSocketAddrPTRDomain(const virSocketAddr *addr, unsigned int prefix, char **ptr) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; size_t i; int ret = -1; @@ -1303,7 +1303,6 @@ virSocketAddrPTRDomain(const virSocketAddr *addr, ret = 0; cleanup: - virBufferFreeAndReset(&buf); return ret; unsupported: diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c index a6357abb08..274883c4bd 100644 --- a/src/util/virstoragefile.c +++ b/src/util/virstoragefile.c @@ -4255,7 +4255,7 @@ virStorageFileCanonicalizeFormatPath(char **components, bool beginSlash, bool beginDoubleSlash) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; size_t i; char *ret = NULL; diff --git a/src/util/virstring.c b/src/util/virstring.c index e9e792f3bf..2d7ddc4676 100644 --- a/src/util/virstring.c +++ b/src/util/virstring.c @@ -148,7 +148,7 @@ char *virStringListJoin(const char **strings, const char *delim) { char *ret; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; while (*strings) { virBufferAdd(&buf, *strings, -1); if (*(strings+1)) @@ -1069,7 +1069,7 @@ virStringReplace(const char *haystack, const char *oldneedle, const char *newneedle) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; const char *tmp1, *tmp2; size_t oldneedlelen = strlen(oldneedle); size_t newneedlelen = strlen(newneedle); diff --git a/src/util/virsysinfo.c b/src/util/virsysinfo.c index db84339bda..dbca99c1ef 100644 --- a/src/util/virsysinfo.c +++ b/src/util/virsysinfo.c @@ -1573,8 +1573,8 @@ virSysinfoFormatFWCfg(virBufferPtr buf, int virSysinfoFormat(virBufferPtr buf, virSysinfoDefPtr def) { - virBuffer attrBuf = VIR_BUFFER_INITIALIZER; - virBuffer childrenBuf = VIR_BUFFER_INIT_CHILD(buf); + g_auto(virBuffer) attrBuf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) childrenBuf = VIR_BUFFER_INIT_CHILD(buf); const char *type = virSysinfoTypeToString(def->type); if (!type) { diff --git a/src/util/virsystemd.c b/src/util/virsystemd.c index 1d41ed34f7..0d5a54130d 100644 --- a/src/util/virsystemd.c +++ b/src/util/virsystemd.c @@ -100,7 +100,7 @@ char *virSystemdMakeScopeName(const char *name, const char *drivername, bool legacy_behaviour) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virBufferAddLit(&buf, "machine-"); if (legacy_behaviour) { @@ -116,7 +116,7 @@ char *virSystemdMakeScopeName(const char *name, char *virSystemdMakeSliceName(const char *partition) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (*partition == '/') partition++; diff --git a/src/util/viruri.c b/src/util/viruri.c index 5fa0a6f0c8..492454a3df 100644 --- a/src/util/viruri.c +++ b/src/util/viruri.c @@ -252,7 +252,7 @@ virURIFormat(virURIPtr uri) char *virURIFormatParams(virURIPtr uri) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; size_t i; bool amp = false; diff --git a/src/util/virxml.c b/src/util/virxml.c index 848d549a8b..e9ea9fe1a4 100644 --- a/src/util/virxml.c +++ b/src/util/virxml.c @@ -682,8 +682,7 @@ catchXMLError(void *ctx, const char *msg G_GNUC_UNUSED, ...) const xmlChar *cur, *base; unsigned int n, col; /* GCC warns if signed, because compared with sizeof() */ int domcode = VIR_FROM_XML; - - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; char *contextstr = NULL; char *pointerstr = NULL; -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Signed-off-by: Laine Stump <laine@redhat.com> --- src/util/virbitmap.c | 4 ++-- src/util/vircommand.c | 3 +-- src/util/virconf.c | 5 ++--- src/util/virdnsmasq.c | 6 ++---- src/util/virfile.c | 2 +- src/util/virfilecache.c | 2 +- src/util/virfirewall.c | 2 +- src/util/virlog.c | 5 ++--- src/util/virnetdevip.c | 3 +-- src/util/virpidfile.c | 2 +- src/util/virqemu.c | 3 +-- src/util/virresctrl.c | 10 +++------- src/util/virsocketaddr.c | 3 +-- src/util/virstoragefile.c | 2 +- src/util/virstring.c | 4 ++-- src/util/virsysinfo.c | 4 ++-- src/util/virsystemd.c | 4 ++-- src/util/viruri.c | 2 +- src/util/virxml.c | 3 +-- 19 files changed, 28 insertions(+), 41 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Laine Stump <laine@redhat.com> --- src/cpu/cpu_map.c | 2 +- src/cpu/cpu_x86.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/cpu/cpu_map.c b/src/cpu/cpu_map.c index 4465ebfa7b..d14488f8aa 100644 --- a/src/cpu/cpu_map.c +++ b/src/cpu/cpu_map.c @@ -171,7 +171,7 @@ int cpuMapLoad(const char *arch, { xmlDocPtr xml = NULL; xmlXPathContextPtr ctxt = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; char *xpath = NULL; int ret = -1; char *mapfile; diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c index bf26cf4e76..1e5cd93abb 100644 --- a/src/cpu/cpu_x86.c +++ b/src/cpu/cpu_x86.c @@ -972,7 +972,7 @@ x86FeatureNames(virCPUx86MapPtr map, const char *separator, virCPUx86Data *data) { - virBuffer ret = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) ret = VIR_BUFFER_INITIALIZER; bool first = true; size_t i; @@ -1208,7 +1208,7 @@ virCPUx86SignaturesMatch(virCPUx86SignaturesPtr sigs, static char * virCPUx86SignaturesFormat(virCPUx86SignaturesPtr sigs) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; size_t i; if (!sigs) @@ -1707,7 +1707,7 @@ virCPUx86DataFormat(const virCPUData *data) { virCPUx86DataIterator iter; virCPUx86DataItemPtr item; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virCPUx86DataIteratorInit(&iter, &data->data.x86); -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Signed-off-by: Laine Stump <laine@redhat.com> --- src/cpu/cpu_map.c | 2 +- src/cpu/cpu_x86.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Laine Stump <laine@redhat.com> --- src/rpc/virnetclient.c | 4 ++-- src/rpc/virnetlibsshsession.c | 7 ++----- src/rpc/virnetsocket.c | 2 +- src/rpc/virnetsshsession.c | 2 +- 4 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/rpc/virnetclient.c b/src/rpc/virnetclient.c index 1c5bef86a1..441f1502a6 100644 --- a/src/rpc/virnetclient.c +++ b/src/rpc/virnetclient.c @@ -428,7 +428,7 @@ virNetClientPtr virNetClientNewLibSSH2(const char *host, { virNetSocketPtr sock = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; g_autofree char *nc = NULL; g_autofree char *command = NULL; @@ -518,7 +518,7 @@ virNetClientPtr virNetClientNewLibssh(const char *host, { virNetSocketPtr sock = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; g_autofree char *nc = NULL; g_autofree char *command = NULL; diff --git a/src/rpc/virnetlibsshsession.c b/src/rpc/virnetlibsshsession.c index 0a566eaa54..c9b31e9462 100644 --- a/src/rpc/virnetlibsshsession.c +++ b/src/rpc/virnetlibsshsession.c @@ -664,7 +664,7 @@ virNetLibsshAuthenticateKeyboardInteractive(virNetLibsshSessionPtr sess, while (ret == SSH_AUTH_INFO) { const char *name, *instruction; int nprompts, iprompt; - virBuffer buff = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buff = VIR_BUFFER_INITIALIZER; name = ssh_userauth_kbdint_getname(sess->session); instruction = ssh_userauth_kbdint_getinstruction(sess->session); @@ -706,7 +706,7 @@ virNetLibsshAuthenticateKeyboardInteractive(virNetLibsshSessionPtr sess, * buffer if specified */ if (virBufferUse(&buff) > 0) { - virBuffer prompt_buff = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) prompt_buff = VIR_BUFFER_INITIALIZER; virBufferAddBuffer(&prompt_buff, &buff); virBufferAdd(&prompt_buff, promptStr, promptStrLen); @@ -750,12 +750,9 @@ virNetLibsshAuthenticateKeyboardInteractive(virNetLibsshSessionPtr sess, prompt_error: VIR_FREE(prompt); - virBufferFreeAndReset(&buff); return SSH_AUTH_ERROR; } - virBufferFreeAndReset(&buff); - ret = ssh_userauth_kbdint(sess->session, NULL, NULL); ++try; if (ret == SSH_AUTH_DENIED && (priv->tries < 0 || try < priv->tries)) diff --git a/src/rpc/virnetsocket.c b/src/rpc/virnetsocket.c index 3ea863f625..d1f4c531aa 100644 --- a/src/rpc/virnetsocket.c +++ b/src/rpc/virnetsocket.c @@ -849,7 +849,7 @@ int virNetSocketNewConnectSSH(const char *nodename, { char *quoted; virCommandPtr cmd; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; *retsock = NULL; diff --git a/src/rpc/virnetsshsession.c b/src/rpc/virnetsshsession.c index b4dea15452..490e9d5c5d 100644 --- a/src/rpc/virnetsshsession.c +++ b/src/rpc/virnetsshsession.c @@ -287,7 +287,7 @@ virNetSSHCheckHostKey(virNetSSHSessionPtr sess) int keyType; size_t keyLength; char *errmsg; - virBuffer buff = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buff = VIR_BUFFER_INITIALIZER; virConnectCredential askKey; struct libssh2_knownhost *knownHostEntry = NULL; size_t i; -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Signed-off-by: Laine Stump <laine@redhat.com> --- src/rpc/virnetclient.c | 4 ++-- src/rpc/virnetlibsshsession.c | 7 ++----- src/rpc/virnetsocket.c | 2 +- src/rpc/virnetsshsession.c | 2 +- 4 files changed, 6 insertions(+), 9 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Laine Stump <laine@redhat.com> --- src/nwfilter/nwfilter_ebiptables_driver.c | 8 +++----- src/nwfilter/nwfilter_gentech_driver.c | 6 ++---- src/nwfilter/nwfilter_learnipaddr.c | 2 +- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/nwfilter/nwfilter_ebiptables_driver.c b/src/nwfilter/nwfilter_ebiptables_driver.c index 6fc8044c8d..dad631f03b 100644 --- a/src/nwfilter/nwfilter_ebiptables_driver.c +++ b/src/nwfilter/nwfilter_ebiptables_driver.c @@ -190,7 +190,7 @@ _printDataType(virNWFilterVarCombIterPtr vars, bool done; char *data; uint8_t ctr; - virBuffer vb = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) vb = VIR_BUFFER_INITIALIZER; char *flags; if (printVar(vars, buf, bufsize, item, &done) < 0) @@ -1528,7 +1528,7 @@ _iptablesCreateRuleInstance(virFirewallPtr fw, static int printStateMatchFlags(int32_t flags, char **bufptr) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virNWFilterPrintStateMatchFlags(&buf, "", flags, @@ -1798,7 +1798,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, bool hasMask = false; virFirewallRulePtr fwrule; int ret = -1; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (STREQ(chainSuffix, virNWFilterChainSuffixTypeToString( @@ -2423,8 +2423,6 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, ret = 0; cleanup: - virBufferFreeAndReset(&buf); - return ret; } diff --git a/src/nwfilter/nwfilter_gentech_driver.c b/src/nwfilter/nwfilter_gentech_driver.c index 6789a4a3fa..b7633eb10a 100644 --- a/src/nwfilter/nwfilter_gentech_driver.c +++ b/src/nwfilter/nwfilter_gentech_driver.c @@ -426,15 +426,13 @@ virNWFilterDetermineMissingVarsRec(virNWFilterDefPtr filter, if (!virNWFilterVarAccessIsAvailable(rule->varAccess[j], vars)) { char *varAccess; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virNWFilterVarAccessPrint(rule->varAccess[j], &buf); val = virNWFilterVarValueCreateSimpleCopyValue("1"); - if (!val) { - virBufferFreeAndReset(&buf); + if (!val) return -1; - } varAccess = virBufferContentAndReset(&buf); rc = virHashUpdateEntry(missing_vars, varAccess, val); diff --git a/src/nwfilter/nwfilter_learnipaddr.c b/src/nwfilter/nwfilter_learnipaddr.c index 4ce8d5ba03..14c66cff35 100644 --- a/src/nwfilter/nwfilter_learnipaddr.c +++ b/src/nwfilter/nwfilter_learnipaddr.c @@ -397,7 +397,7 @@ learnIPAddressThread(void *arg) req->binding->portdevname); int dhcp_opts_len; char macaddr[VIR_MAC_STRING_BUFLEN]; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; char *filter = NULL; uint16_t etherType; bool showError = true; -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Signed-off-by: Laine Stump <laine@redhat.com> --- src/nwfilter/nwfilter_ebiptables_driver.c | 8 +++----- src/nwfilter/nwfilter_gentech_driver.c | 6 ++---- src/nwfilter/nwfilter_learnipaddr.c | 2 +- 3 files changed, 6 insertions(+), 10 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Laine Stump <laine@redhat.com> --- src/network/bridge_driver.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index 0f5212ce04..9f37d8f558 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -332,7 +332,7 @@ networkRunHook(virNetworkObjPtr obj, int sub_op) { virNetworkDefPtr def; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; char *xml = NULL; int hookret; int ret = -1; @@ -370,7 +370,6 @@ networkRunHook(virNetworkObjPtr obj, ret = 0; cleanup: - virBufferFreeAndReset(&buf); VIR_FREE(xml); return ret; } @@ -1093,7 +1092,7 @@ networkDnsmasqConfContents(virNetworkObjPtr obj, dnsmasqCapsPtr caps G_GNUC_UNUSED) { virNetworkDefPtr def = virNetworkObjGetDef(obj); - virBuffer configbuf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) configbuf = VIR_BUFFER_INITIALIZER; int r, ret = -1; int nbleases = 0; size_t i; @@ -1577,7 +1576,6 @@ networkDnsmasqConfContents(virNetworkObjPtr obj, cleanup: VIR_FREE(saddr); VIR_FREE(eaddr); - virBufferFreeAndReset(&configbuf); return ret; } @@ -1843,7 +1841,7 @@ networkRadvdConfContents(virNetworkObjPtr obj, char **configstr) { virNetworkDefPtr def = virNetworkObjGetDef(obj); - virBuffer configbuf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) configbuf = VIR_BUFFER_INITIALIZER; int ret = -1; size_t i; virNetworkIPDefPtr ipdef; @@ -1907,7 +1905,6 @@ networkRadvdConfContents(virNetworkObjPtr obj, ret = 0; cleanup: - virBufferFreeAndReset(&configbuf); return ret; } -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Signed-off-by: Laine Stump <laine@redhat.com> --- src/network/bridge_driver.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Laine Stump <laine@redhat.com> --- src/hypervisor/domain_driver.c | 7 +++---- src/locking/lock_driver_sanlock.c | 2 +- src/node_device/node_device_udev.c | 2 +- src/openvz/openvz_driver.c | 5 ++--- src/security/virt-aa-helper.c | 4 ++-- src/storage/storage_backend_rbd.c | 7 ++----- src/storage/storage_util.c | 9 ++++----- src/vmx/vmx.c | 5 +---- src/vz/vz_driver.c | 4 ++-- 9 files changed, 18 insertions(+), 27 deletions(-) diff --git a/src/hypervisor/domain_driver.c b/src/hypervisor/domain_driver.c index 31821fc712..f5f0f6e2e9 100644 --- a/src/hypervisor/domain_driver.c +++ b/src/hypervisor/domain_driver.c @@ -86,7 +86,7 @@ virDomainDriverGenerateMachineName(const char *drivername, const char *name, bool privileged) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (root) { g_autofree char *hash = NULL; @@ -100,10 +100,9 @@ virDomainDriverGenerateMachineName(const char *drivername, if (!privileged) { g_autofree char *username = NULL; - if (!(username = virGetUserName(geteuid()))) { - virBufferFreeAndReset(&buf); + if (!(username = virGetUserName(geteuid()))) return NULL; - } + virBufferAsprintf(&buf, "%s-", username); } } diff --git a/src/locking/lock_driver_sanlock.c b/src/locking/lock_driver_sanlock.c index 4ebe98e86d..23711a75cb 100644 --- a/src/locking/lock_driver_sanlock.c +++ b/src/locking/lock_driver_sanlock.c @@ -825,7 +825,7 @@ virLockManagerSanlockRegisterKillscript(int sock, const char *uuidstr, virDomainLockFailureAction action) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; char *path; char *args = NULL; int ret = -1; diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c index cec99cb898..e389b56302 100644 --- a/src/node_device/node_device_udev.c +++ b/src/node_device/node_device_udev.c @@ -294,7 +294,7 @@ udevGenerateDeviceName(struct udev_device *device, const char *s) { size_t i; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virBufferAsprintf(&buf, "%s_%s", udev_device_get_subsystem(device), diff --git a/src/openvz/openvz_driver.c b/src/openvz/openvz_driver.c index 79a100c343..71e270ea09 100644 --- a/src/openvz/openvz_driver.c +++ b/src/openvz/openvz_driver.c @@ -704,7 +704,7 @@ openvzDomainSetNetwork(virConnectPtr conn, const char *vpsid, if (net->type == VIR_DOMAIN_NET_TYPE_BRIDGE || (net->type == VIR_DOMAIN_NET_TYPE_ETHERNET && net->guestIP.nips == 0)) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer)buf = VIR_BUFFER_INITIALIZER; int veid = openvzGetVEID(vpsid); /* if net is ethernet and the user has specified guest interface name, @@ -782,7 +782,7 @@ openvzDomainSetNetworkConfig(virConnectPtr conn, virDomainDefPtr def) { size_t i; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; char *param; int first = 1; struct openvz_driver *driver = conn->privateData; @@ -819,7 +819,6 @@ openvzDomainSetNetworkConfig(virConnectPtr conn, return 0; exit: - virBufferFreeAndReset(&buf); return -1; } diff --git a/src/security/virt-aa-helper.c b/src/security/virt-aa-helper.c index 08eb162b8c..dadb9d1614 100644 --- a/src/security/virt-aa-helper.c +++ b/src/security/virt-aa-helper.c @@ -907,7 +907,7 @@ storage_source_add_files(virStorageSourcePtr src, static int get_files(vahControl * ctl) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; int rc = -1; size_t i; char *uuid; @@ -1448,7 +1448,6 @@ int main(int argc, char **argv) { vahControl _ctl, *ctl = &_ctl; - virBuffer buf = VIR_BUFFER_INITIALIZER; int rc = -1; char *profile = NULL; char *include_file = NULL; @@ -1496,6 +1495,7 @@ main(int argc, char **argv) } } else if (ctl->cmd == 'c' || ctl->cmd == 'r') { char *included_files = NULL; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (ctl->cmd == 'c' && virFileExists(profile)) vah_error(ctl, 1, _("profile exists")); diff --git a/src/storage/storage_backend_rbd.c b/src/storage/storage_backend_rbd.c index f0b7653736..08dc5a19dc 100644 --- a/src/storage/storage_backend_rbd.c +++ b/src/storage/storage_backend_rbd.c @@ -190,7 +190,7 @@ virStorageBackendRBDOpenRADOSConn(virStorageBackendRBDStatePtr ptr, unsigned char *secret_value = NULL; size_t secret_value_size = 0; VIR_AUTODISPOSE_STR rados_key = NULL; - virBuffer mon_host = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) mon_host = VIR_BUFFER_INITIALIZER; size_t i; const char *client_mount_timeout = "30"; const char *mon_op_timeout = "30"; @@ -330,7 +330,6 @@ virStorageBackendRBDOpenRADOSConn(virStorageBackendRBDStatePtr ptr, VIR_DISPOSE_N(secret_value, secret_value_size); virObjectUnref(conn); - virBufferFreeAndReset(&mon_host); return ret; } @@ -1151,7 +1150,7 @@ virStorageBackendRBDCloneImage(rados_ioctx_t io, uint64_t features; uint64_t stripe_count; uint64_t stripe_unit; - virBuffer snapname = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) snapname = VIR_BUFFER_INITIALIZER; rbd_image_t image = NULL; g_autofree char *snapname_buff = NULL; @@ -1220,8 +1219,6 @@ virStorageBackendRBDCloneImage(rados_ioctx_t io, ret = 0; cleanup: - virBufferFreeAndReset(&snapname); - if (image) rbd_close(image); diff --git a/src/storage/storage_util.c b/src/storage/storage_util.c index 1ec1d13625..36b5b21a5b 100644 --- a/src/storage/storage_util.c +++ b/src/storage/storage_util.c @@ -717,7 +717,7 @@ storageBackendCreateQemuImgOpts(virStorageEncryptionInfoDefPtr encinfo, char **opts, struct _virStorageBackendQemuImgInfo *info) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (info->backingPath) virBufferAsprintf(&buf, "backing_fmt=%s,", @@ -761,7 +761,6 @@ storageBackendCreateQemuImgOpts(virStorageEncryptionInfoDefPtr encinfo, return 0; error: - virBufferFreeAndReset(&buf); return -1; } @@ -934,7 +933,7 @@ storageBackendCreateQemuImgSecretObject(virCommandPtr cmd, const char *secretPath, const char *secretAlias) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; g_autofree char *commandStr = NULL; virBufferAsprintf(&buf, "secret,id=%s,file=", secretAlias); @@ -958,7 +957,7 @@ storageBackendResizeQemuImgImageOpts(virCommandPtr cmd, const char *path, const char *secretAlias) { - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; g_autofree char *commandStr = NULL; virBufferAsprintf(&buf, "driver=luks,key-secret=%s,file.filename=", @@ -4058,7 +4057,7 @@ virStorageBackendFileSystemMountAddOptions(virCommandPtr cmd, const char *providedOpts) { g_autofree char *mountOpts = NULL; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (*default_mount_opts != '\0') virBufferAsprintf(&buf, "%s,", default_mount_opts); diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c index 67bbe27fde..2f2cc19078 100644 --- a/src/vmx/vmx.c +++ b/src/vmx/vmx.c @@ -3060,7 +3060,7 @@ virVMXFormatConfig(virVMXContext *ctx, virDomainXMLOptionPtr xmlopt, virDomainDe size_t i; int sched_cpu_affinity_length; unsigned char zero[VIR_UUID_BUFLEN]; - virBuffer buffer = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buffer = VIR_BUFFER_INITIALIZER; char *preliminaryDisplayName = NULL; char *displayName = NULL; char *annotation = NULL; @@ -3445,9 +3445,6 @@ virVMXFormatConfig(virVMXContext *ctx, virDomainXMLOptionPtr xmlopt, virDomainDe vmx = virBufferContentAndReset(&buffer); cleanup: - if (vmx == NULL) - virBufferFreeAndReset(&buffer); - VIR_FREE(preliminaryDisplayName); VIR_FREE(displayName); VIR_FREE(annotation); diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c index d882b91def..86fa6f8bef 100644 --- a/src/vz/vz_driver.c +++ b/src/vz/vz_driver.c @@ -456,7 +456,7 @@ vzConnectGetSysinfo(virConnectPtr conn, unsigned int flags) { vzConnPtr privconn = conn->privateData; vzDriverPtr driver = privconn->driver; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virCheckFlags(0, NULL); @@ -2741,7 +2741,7 @@ vzBakeCookie(vzDriverPtr driver, unsigned int flags) { char uuidstr[VIR_UUID_STRING_BUFLEN]; - virBuffer buf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (!cookieout || !cookieoutlen) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Signed-off-by: Laine Stump <laine@redhat.com> --- src/hypervisor/domain_driver.c | 7 +++---- src/locking/lock_driver_sanlock.c | 2 +- src/node_device/node_device_udev.c | 2 +- src/openvz/openvz_driver.c | 5 ++--- src/security/virt-aa-helper.c | 4 ++-- src/storage/storage_backend_rbd.c | 7 ++----- src/storage/storage_util.c | 9 ++++----- src/vmx/vmx.c | 5 +---- src/vz/vz_driver.c | 4 ++-- 9 files changed, 18 insertions(+), 27 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

The latter function is guaranteed to always clear out the virBuffer anyway, so this is redundant and could add to extra cargo-cult code if used as an example. Signed-off-by: Laine Stump <laine@redhat.com> --- src/qemu/qemu_command.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 789c5b8f56..73c6997a49 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -8913,7 +8913,6 @@ qemuBuldDomainLoaderPflashCommandLine(virCommandPtr cmd, virCommandAddArgBuffer(cmd, &buf); if (loader->nvram) { - virBufferFreeAndReset(&buf); virBufferAddLit(&buf, "file="); virQEMUBuildBufferEscapeComma(&buf, loader->nvram); virBufferAsprintf(&buf, ",if=pflash,format=raw,unit=%d", unit); -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
The latter function is guaranteed to always clear out the virBuffer anyway, so this is redundant and could add to extra cargo-cult code if used as an example.
Signed-off-by: Laine Stump <laine@redhat.com> --- src/qemu/qemu_command.c | 1 - 1 file changed, 1 deletion(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Every other caller of this function checks for an error return and ends their formatting early if there is an error. This function happily continues on its way. Signed-off-by: Laine Stump <laine@redhat.com> --- src/conf/domain_conf.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index c02d1c8bd2..33bf0a1727 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -29649,8 +29649,10 @@ virDomainDefFormatInternalSetRootName(virDomainDefPtr def, if (def->resource) virDomainResourceDefFormat(buf, def->resource); - for (i = 0; i < def->nsysinfo; i++) - virSysinfoFormat(buf, def->sysinfo[i]); + for (i = 0; i < def->nsysinfo; i++) { + if (virSysinfoFormat(buf, def->sysinfo[i]) < 0) + goto error; + } if (def->os.bootloader) { virBufferEscapeString(buf, "<bootloader>%s</bootloader>\n", -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Every other caller of this function checks for an error return and ends their formatting early if there is an error. This function happily continues on its way.
Signed-off-by: Laine Stump <laine@redhat.com> --- src/conf/domain_conf.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

There are several calls to virBufferFreeAndReset() when functions encounter an error, but the caller never uses the virBuffer once an error has been encountered (all callers detect error by looking at the function return value, not the contents of the virBuffer being operated on), and now that all virBuffers are auto-freed there is no reason for the lower level functions like these to spend time freeing a buffer that is guaranteed to be freed momentarily anyway. Signed-off-by: Laine Stump <laine@redhat.com> --- src/conf/checkpoint_conf.c | 1 - src/conf/domain_conf.c | 1 - src/conf/snapshot_conf.c | 1 - src/libxl/xen_xl.c | 1 - src/util/virsysinfo.c | 1 - src/util/virxml.c | 1 - 6 files changed, 6 deletions(-) diff --git a/src/conf/checkpoint_conf.c b/src/conf/checkpoint_conf.c index e0dce9c2ed..41f67bd895 100644 --- a/src/conf/checkpoint_conf.c +++ b/src/conf/checkpoint_conf.c @@ -493,7 +493,6 @@ virDomainCheckpointDefFormatInternal(virBufferPtr buf, return 0; error: - virBufferFreeAndReset(buf); return -1; } diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 33bf0a1727..e5070ed871 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -30038,7 +30038,6 @@ virDomainDefFormatInternalSetRootName(virDomainDefPtr def, return 0; error: - virBufferFreeAndReset(buf); return -1; } diff --git a/src/conf/snapshot_conf.c b/src/conf/snapshot_conf.c index 9767592bfc..b7ed3b42df 100644 --- a/src/conf/snapshot_conf.c +++ b/src/conf/snapshot_conf.c @@ -916,7 +916,6 @@ virDomainSnapshotDefFormatInternal(virBufferPtr buf, return 0; error: - virBufferFreeAndReset(buf); return -1; } diff --git a/src/libxl/xen_xl.c b/src/libxl/xen_xl.c index ec5e4791a3..4baf5e336e 100644 --- a/src/libxl/xen_xl.c +++ b/src/libxl/xen_xl.c @@ -1432,7 +1432,6 @@ xenFormatXLVnode(virConfValuePtr list, ret = 0; cleanup: - virBufferFreeAndReset(buf); return ret; } diff --git a/src/util/virsysinfo.c b/src/util/virsysinfo.c index dbca99c1ef..e69fc51a1e 100644 --- a/src/util/virsysinfo.c +++ b/src/util/virsysinfo.c @@ -1581,7 +1581,6 @@ virSysinfoFormat(virBufferPtr buf, virSysinfoDefPtr def) virReportError(VIR_ERR_INTERNAL_ERROR, _("unexpected sysinfo type model %d"), def->type); - virBufferFreeAndReset(buf); return -1; } diff --git a/src/util/virxml.c b/src/util/virxml.c index e9ea9fe1a4..56e6f67597 100644 --- a/src/util/virxml.c +++ b/src/util/virxml.c @@ -1283,7 +1283,6 @@ virXMLValidatorValidate(virXMLValidatorPtr validator, ret = 0; cleanup: - virBufferFreeAndReset(&validator->buf); return ret; } -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
There are several calls to virBufferFreeAndReset() when functions encounter an error, but the caller never uses the virBuffer once an error has been encountered (all callers detect error by looking at the function return value, not the contents of the virBuffer being operated on), and now that all virBuffers are auto-freed there is no reason for the lower level functions like these to spend time freeing a buffer that is guaranteed to be freed momentarily anyway.
Signed-off-by: Laine Stump <laine@redhat.com> --- src/conf/checkpoint_conf.c | 1 - src/conf/domain_conf.c | 1 - src/conf/snapshot_conf.c | 1 - src/libxl/xen_xl.c | 1 - src/util/virsysinfo.c | 1 - src/util/virxml.c | 1 - 6 files changed, 6 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

libxlMakeNic was calling g_strdup(virBufferCurrentContent(&buf)) to make a copy of the buffer contents, and then later freeing the buffer without ever using it again. Instead of this extra strdup, just transfer ownership of the virBuffer's string with virBufferContentAndReset(), and be done with it. Signed-off-by: Laine Stump <laine@redhat.com> --- src/libxl/libxl_conf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c index 124e08d598..fe8ad4a3cb 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c @@ -1335,7 +1335,7 @@ libxlMakeNic(virDomainDefPtr def, } } } - x_nic->bridge = g_strdup(virBufferCurrentContent(&buf)); + x_nic->bridge = virBufferContentAndReset(&buf); G_GNUC_FALLTHROUGH; case VIR_DOMAIN_NET_TYPE_ETHERNET: x_nic->script = g_strdup(script); -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
libxlMakeNic was calling g_strdup(virBufferCurrentContent(&buf)) to make a copy of the buffer contents, and then later freeing the buffer without ever using it again. Instead of this extra strdup, just transfer ownership of the virBuffer's string with virBufferContentAndReset(), and be done with it.
Signed-off-by: Laine Stump <laine@redhat.com> --- src/libxl/libxl_conf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Also, s/libxml/libxl/ in the summary On a Sunday in 2020, Laine Stump wrote:
libxlMakeNic was calling g_strdup(virBufferCurrentContent(&buf)) to make a copy of the buffer contents, and then later freeing the buffer without ever using it again. Instead of this extra strdup, just transfer ownership of the virBuffer's string with virBufferContentAndReset(), and be done with it.
Signed-off-by: Laine Stump <laine@redhat.com> --- src/libxl/libxl_conf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Jano

Signed-off-by: Laine Stump <laine@redhat.com> --- src/bhyve/bhyve_command.c | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/src/bhyve/bhyve_command.c b/src/bhyve/bhyve_command.c index 9649c2d2a2..22d0b24ec4 100644 --- a/src/bhyve/bhyve_command.c +++ b/src/bhyve/bhyve_command.c @@ -169,7 +169,6 @@ bhyveBuildAHCIControllerArgStr(const virDomainDef *def, g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; const char *disk_source; size_t i; - int ret = -1; for (i = 0; i < def->ndisks; i++) { g_auto(virBuffer) device = VIR_BUFFER_INITIALIZER; @@ -187,11 +186,11 @@ bhyveBuildAHCIControllerArgStr(const virDomainDef *def, (virDomainDiskGetType(disk) != VIR_STORAGE_TYPE_VOLUME)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("unsupported disk type")); - goto error; + return -1; } if (virDomainDiskTranslateSourcePool(disk) < 0) - goto error; + return -1; disk_source = virDomainDiskGetSource(disk); @@ -200,7 +199,7 @@ bhyveBuildAHCIControllerArgStr(const virDomainDef *def, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("cdrom device without source path " "not supported")); - goto error; + return -1; } switch (disk->device) { @@ -219,7 +218,7 @@ bhyveBuildAHCIControllerArgStr(const virDomainDef *def, default: virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("unsupported disk device")); - goto error; + return -1; } virBufferAddBuffer(&buf, &device); } @@ -229,9 +228,7 @@ bhyveBuildAHCIControllerArgStr(const virDomainDef *def, controller->info.addr.pci.slot, virBufferCurrentContent(&buf)); - ret = 0; - error: - return ret; + return 0; } static int @@ -406,7 +403,7 @@ bhyveBuildGraphicsArgStr(const virDomainDef *def, if (!(glisten = virDomainGraphicsGetListen(graphics, 0))) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Missing listen element")); - goto error; + return -1; } virBufferAsprintf(&opt, "%d:%d,fbuf", video->info.addr.pci.slot, video->info.addr.pci.function); @@ -421,13 +418,13 @@ bhyveBuildGraphicsArgStr(const virDomainDef *def, graphics->data.vnc.port > 65535)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("vnc port must be in range [5900,65535]")); - goto error; + return -1; } if (graphics->data.vnc.auth.passwd) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("vnc password auth not supported")); - goto error; + return -1; } else { /* Bhyve doesn't support VNC Auth yet, so print a warning about * unauthenticated VNC sessions */ @@ -461,11 +458,11 @@ bhyveBuildGraphicsArgStr(const virDomainDef *def, case VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_NONE: virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("Unsupported listen type")); - goto error; + return -1; case VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_LAST: default: virReportEnumRangeError(virDomainGraphicsListenType, glisten->type); - goto error; + return -1; } if (video->driver) @@ -476,8 +473,6 @@ bhyveBuildGraphicsArgStr(const virDomainDef *def, virCommandAddArgBuffer(cmd, &opt); return 0; - error: - return -1; } virCommandPtr -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Signed-off-by: Laine Stump <laine@redhat.com> --- src/bhyve/bhyve_command.c | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Laine Stump <laine@redhat.com> --- src/conf/capabilities.c | 5 +-- src/conf/checkpoint_conf.c | 8 ++-- src/conf/cpu_conf.c | 18 +++----- src/conf/domain_conf.c | 88 +++++++++++++++++++------------------- src/conf/network_conf.c | 5 +-- src/conf/nwfilter_conf.c | 5 +-- src/conf/secret_conf.c | 5 +-- src/conf/snapshot_conf.c | 11 ++--- src/conf/storage_conf.c | 17 ++------ src/conf/virnetworkobj.c | 7 +-- src/conf/virsavecookie.c | 5 +-- 11 files changed, 67 insertions(+), 107 deletions(-) diff --git a/src/conf/capabilities.c b/src/conf/capabilities.c index 6a48af1fca..610e6e8242 100644 --- a/src/conf/capabilities.c +++ b/src/conf/capabilities.c @@ -1340,7 +1340,7 @@ virCapabilitiesFormatXML(virCapsPtr caps) virBufferAdjustIndent(&buf, 2); if (virCapabilitiesFormatHostXML(&caps->host, &buf) < 0) - goto error; + return NULL; virCapabilitiesFormatGuestXML(caps->guests, caps->nguests, &buf); @@ -1350,9 +1350,6 @@ virCapabilitiesFormatXML(virCapsPtr caps) virBufferAddLit(&buf, "</capabilities>\n"); return virBufferContentAndReset(&buf); - - error: - return NULL; } /* get the maximum ID of cpus in the host */ diff --git a/src/conf/checkpoint_conf.c b/src/conf/checkpoint_conf.c index 41f67bd895..861004801e 100644 --- a/src/conf/checkpoint_conf.c +++ b/src/conf/checkpoint_conf.c @@ -476,7 +476,7 @@ virDomainCheckpointDefFormatInternal(virBufferPtr buf, for (i = 0; i < def->ndisks; i++) { if (virDomainCheckpointDiskDefFormat(buf, &def->disks[i], flags) < 0) - goto error; + return -1; } virBufferAdjustIndent(buf, -2); virBufferAddLit(buf, "</disks>\n"); @@ -485,17 +485,15 @@ virDomainCheckpointDefFormatInternal(virBufferPtr buf, if (!(flags & VIR_DOMAIN_CHECKPOINT_FORMAT_NO_DOMAIN) && virDomainDefFormatInternal(def->parent.dom, xmlopt, buf, domainflags) < 0) - goto error; + return -1; virBufferAdjustIndent(buf, -2); virBufferAddLit(buf, "</domaincheckpoint>\n"); return 0; - - error: - return -1; } + char * virDomainCheckpointDefFormat(virDomainCheckpointDefPtr def, virDomainXMLOptionPtr xmlopt, diff --git a/src/conf/cpu_conf.c b/src/conf/cpu_conf.c index dd3db00bc8..7be108fa63 100644 --- a/src/conf/cpu_conf.c +++ b/src/conf/cpu_conf.c @@ -671,12 +671,9 @@ virCPUDefFormat(virCPUDefPtr def, g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (virCPUDefFormatBufFull(&buf, def, numa) < 0) - goto cleanup; + return NULL; return virBufferContentAndReset(&buf); - - cleanup: - return NULL; } @@ -685,7 +682,6 @@ virCPUDefFormatBufFull(virBufferPtr buf, virCPUDefPtr def, virDomainNumaPtr numa) { - int ret = -1; g_auto(virBuffer) attributeBuf = VIR_BUFFER_INITIALIZER; g_auto(virBuffer) childrenBuf = VIR_BUFFER_INIT_CHILD(buf); @@ -701,7 +697,7 @@ virCPUDefFormatBufFull(virBufferPtr buf, if (!(tmp = virCPUModeTypeToString(def->mode))) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Unexpected CPU mode %d"), def->mode); - goto cleanup; + return -1; } virBufferAsprintf(&attributeBuf, " mode='%s'", tmp); @@ -710,7 +706,7 @@ virCPUDefFormatBufFull(virBufferPtr buf, virReportError(VIR_ERR_INTERNAL_ERROR, _("Unexpected CPU match policy %d"), def->match); - goto cleanup; + return -1; } virBufferAsprintf(&attributeBuf, " match='%s'", tmp); } @@ -731,10 +727,10 @@ virCPUDefFormatBufFull(virBufferPtr buf, virBufferAsprintf(&childrenBuf, "<arch>%s</arch>\n", virArchToString(def->arch)); if (virCPUDefFormatBuf(&childrenBuf, def) < 0) - goto cleanup; + return -1; if (virDomainNumaDefCPUFormatXML(&childrenBuf, numa) < 0) - goto cleanup; + return -1; /* Put it all together */ if (virBufferUse(&attributeBuf) || virBufferUse(&childrenBuf)) { @@ -752,9 +748,7 @@ virCPUDefFormatBufFull(virBufferPtr buf, } } - ret = 0; - cleanup: - return ret; + return 0; } int diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index e5070ed871..706d050f4d 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -29543,7 +29543,7 @@ virDomainDefFormatInternalSetRootName(virDomainDefPtr def, if (!(type = virDomainVirtTypeToString(def->virtType))) { virReportError(VIR_ERR_INTERNAL_ERROR, _("unexpected domain type %d"), def->virtType); - goto error; + return -1; } if (def->id == -1) @@ -29588,13 +29588,13 @@ virDomainDefFormatInternalSetRootName(virDomainDefPtr def, xmlIndentTreeOutput = 1; if (!(xmlbuf = xmlBufferCreate())) { virReportOOMError(); - goto error; + return -1; } if (xmlNodeDump(xmlbuf, def->metadata->doc, def->metadata, virBufferGetIndent(buf) / 2, 1) < 0) { xmlIndentTreeOutput = oldIndentTreeOutput; - goto error; + return -1; } virBufferAsprintf(buf, "%s\n", (char *) xmlBufferContent(xmlbuf)); xmlIndentTreeOutput = oldIndentTreeOutput; @@ -29617,13 +29617,13 @@ virDomainDefFormatInternalSetRootName(virDomainDefPtr def, def->mem.cur_balloon); if (virDomainDefFormatBlkiotune(buf, def) < 0) - goto error; + return -1; virDomainMemtuneFormat(buf, &def->mem); virDomainMemorybackingFormat(buf, &def->mem); if (virDomainCpuDefFormat(buf, def) < 0) - goto error; + return -1; if (def->niothreadids > 0) { virBufferAsprintf(buf, "<iothreads>%zu</iothreads>\n", @@ -29641,17 +29641,17 @@ virDomainDefFormatInternalSetRootName(virDomainDefPtr def, } if (virDomainCputuneDefFormat(buf, def, flags) < 0) - goto error; + return -1; if (virDomainNumatuneFormatXML(buf, def->numa) < 0) - goto error; + return -1; if (def->resource) virDomainResourceDefFormat(buf, def->resource); for (i = 0; i < def->nsysinfo; i++) { if (virSysinfoFormat(buf, def->sysinfo[i]) < 0) - goto error; + return -1; } if (def->os.bootloader) { @@ -29731,7 +29731,7 @@ virDomainDefFormatInternalSetRootName(virDomainDefPtr def, virReportError(VIR_ERR_INTERNAL_ERROR, _("unexpected boot device type %d"), def->os.bootDevs[n]); - goto error; + return -1; } virBufferAsprintf(buf, "<boot dev='%s'/>\n", boottype); } @@ -29763,7 +29763,7 @@ virDomainDefFormatInternalSetRootName(virDomainDefPtr def, if (mode == NULL) { virReportError(VIR_ERR_INTERNAL_ERROR, _("unexpected smbios mode %d"), def->os.smbios_mode); - goto error; + return -1; } virBufferAsprintf(buf, "<smbios mode='%s'/>\n", mode); } @@ -29794,10 +29794,10 @@ virDomainDefFormatInternalSetRootName(virDomainDefPtr def, } if (virDomainDefFormatFeatures(buf, def) < 0) - goto error; + return -1; if (virCPUDefFormatBufFull(buf, def->cpu, def->numa) < 0) - goto error; + return -1; virBufferAsprintf(buf, "<clock offset='%s'", virDomainClockOffsetTypeToString(def->clock.offset)); @@ -29828,7 +29828,7 @@ virDomainDefFormatInternalSetRootName(virDomainDefPtr def, virBufferAdjustIndent(buf, 2); for (n = 0; n < def->clock.ntimers; n++) { if (virDomainTimerDefFormat(buf, def->clock.timers[n]) < 0) - goto error; + return -1; } virBufferAdjustIndent(buf, -2); virBufferAddLit(buf, "</clock>\n"); @@ -29837,20 +29837,20 @@ virDomainDefFormatInternalSetRootName(virDomainDefPtr def, if (virDomainEventActionDefFormat(buf, def->onPoweroff, "on_poweroff", virDomainLifecycleActionTypeToString) < 0) - goto error; + return -1; if (virDomainEventActionDefFormat(buf, def->onReboot, "on_reboot", virDomainLifecycleActionTypeToString) < 0) - goto error; + return -1; if (virDomainEventActionDefFormat(buf, def->onCrash, "on_crash", virDomainLifecycleActionTypeToString) < 0) - goto error; + return -1; if (def->onLockFailure != VIR_DOMAIN_LOCK_FAILURE_DEFAULT && virDomainEventActionDefFormat(buf, def->onLockFailure, "on_lockfailure", virDomainLockFailureTypeToString) < 0) - goto error; + return -1; if (def->pm.s3 || def->pm.s4) { virBufferAddLit(buf, "<pm>\n"); @@ -29877,35 +29877,35 @@ virDomainDefFormatInternalSetRootName(virDomainDefPtr def, for (n = 0; n < def->ndisks; n++) if (virDomainDiskDefFormat(buf, def->disks[n], flags, xmlopt) < 0) - goto error; + return -1; for (n = 0; n < def->ncontrollers; n++) if (virDomainControllerDefFormat(buf, def->controllers[n], flags) < 0) - goto error; + return -1; for (n = 0; n < def->nleases; n++) if (virDomainLeaseDefFormat(buf, def->leases[n]) < 0) - goto error; + return -1; for (n = 0; n < def->nfss; n++) if (virDomainFSDefFormat(buf, def->fss[n], flags) < 0) - goto error; + return -1; for (n = 0; n < def->nnets; n++) if (virDomainNetDefFormat(buf, def->nets[n], xmlopt, flags) < 0) - goto error; + return -1; for (n = 0; n < def->nsmartcards; n++) if (virDomainSmartcardDefFormat(buf, def->smartcards[n], flags) < 0) - goto error; + return -1; for (n = 0; n < def->nserials; n++) if (virDomainChrDefFormat(buf, def->serials[n], flags) < 0) - goto error; + return -1; for (n = 0; n < def->nparallels; n++) if (virDomainChrDefFormat(buf, def->parallels[n], flags) < 0) - goto error; + return -1; for (n = 0; n < def->nconsoles; n++) { virDomainChrDef console; @@ -29923,36 +29923,36 @@ virDomainDefFormatInternalSetRootName(virDomainDefPtr def, memcpy(&console, def->consoles[n], sizeof(console)); } if (virDomainChrDefFormat(buf, &console, flags) < 0) - goto error; + return -1; } for (n = 0; n < def->nchannels; n++) if (virDomainChrDefFormat(buf, def->channels[n], flags) < 0) - goto error; + return -1; for (n = 0; n < def->ninputs; n++) { if (virDomainInputDefFormat(buf, def->inputs[n], flags) < 0) - goto error; + return -1; } for (n = 0; n < def->ntpms; n++) { if (virDomainTPMDefFormat(buf, def->tpms[n], flags) < 0) - goto error; + return -1; } for (n = 0; n < def->ngraphics; n++) { if (virDomainGraphicsDefFormat(buf, def->graphics[n], flags) < 0) - goto error; + return -1; } for (n = 0; n < def->nsounds; n++) { if (virDomainSoundDefFormat(buf, def->sounds[n], flags) < 0) - goto error; + return -1; } for (n = 0; n < def->nvideos; n++) { if (virDomainVideoDefFormat(buf, def->videos[n], flags) < 0) - goto error; + return -1; } for (n = 0; n < def->nhostdevs; n++) { @@ -29962,13 +29962,13 @@ virDomainDefFormatInternalSetRootName(virDomainDefPtr def, */ if (!def->hostdevs[n]->parentnet && virDomainHostdevDefFormat(buf, def->hostdevs[n], flags) < 0) { - goto error; + return -1; } } for (n = 0; n < def->nredirdevs; n++) { if (virDomainRedirdevDefFormat(buf, def->redirdevs[n], flags) < 0) - goto error; + return -1; } if (def->redirfilter) @@ -29976,7 +29976,7 @@ virDomainDefFormatInternalSetRootName(virDomainDefPtr def, for (n = 0; n < def->nhubs; n++) { if (virDomainHubDefFormat(buf, def->hubs[n], flags) < 0) - goto error; + return -1; } if (def->watchdog) @@ -29987,7 +29987,7 @@ virDomainDefFormatInternalSetRootName(virDomainDefPtr def, for (n = 0; n < def->nrngs; n++) { if (virDomainRNGDefFormat(buf, def->rngs[n], flags)) - goto error; + return -1; } if (def->nvram) @@ -29995,26 +29995,26 @@ virDomainDefFormatInternalSetRootName(virDomainDefPtr def, for (n = 0; n < def->npanics; n++) { if (virDomainPanicDefFormat(buf, def->panics[n]) < 0) - goto error; + return -1; } for (n = 0; n < def->nshmems; n++) { if (virDomainShmemDefFormat(buf, def->shmems[n], flags) < 0) - goto error; + return -1; } for (n = 0; n < def->nmems; n++) { if (virDomainMemoryDefFormat(buf, def->mems[n], def, flags) < 0) - goto error; + return -1; } if (def->iommu && virDomainIOMMUDefFormat(buf, def->iommu) < 0) - goto error; + return -1; if (def->vsock && virDomainVsockDefFormat(buf, def->vsock) < 0) - goto error; + return -1; virBufferAdjustIndent(buf, -2); virBufferAddLit(buf, "</devices>\n"); @@ -30029,18 +30029,16 @@ virDomainDefFormatInternalSetRootName(virDomainDefPtr def, if (def->namespaceData && def->ns.format) { if ((def->ns.format)(buf, def->namespaceData) < 0) - goto error; + return -1; } virBufferAdjustIndent(buf, -2); virBufferAsprintf(buf, "</%s>\n", rootname); return 0; - - error: - return -1; } + /* Converts VIR_DOMAIN_XML_COMMON_FLAGS into VIR_DOMAIN_DEF_FORMAT_* * flags, and silently ignores any other flags. Note that the caller * should validate the set of flags it is willing to accept; see also diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c index 99f11fdf05..0fd68a7d66 100644 --- a/src/conf/network_conf.c +++ b/src/conf/network_conf.c @@ -2721,12 +2721,9 @@ virNetworkDefFormat(const virNetworkDef *def, g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (virNetworkDefFormatBuf(&buf, def, xmlopt, flags) < 0) - goto error; + return NULL; return virBufferContentAndReset(&buf); - - error: - return NULL; } diff --git a/src/conf/nwfilter_conf.c b/src/conf/nwfilter_conf.c index 3827c65462..02722abc32 100644 --- a/src/conf/nwfilter_conf.c +++ b/src/conf/nwfilter_conf.c @@ -3062,16 +3062,13 @@ virNWFilterDefFormat(const virNWFilterDef *def) for (i = 0; i < def->nentries; i++) { if (virNWFilterEntryFormat(&buf, def->filterEntries[i]) < 0) - goto err_exit; + return NULL; } virBufferAdjustIndent(&buf, -2); virBufferAddLit(&buf, "</filter>\n"); return virBufferContentAndReset(&buf); - - err_exit: - return NULL; } static virNWFilterTriggerRebuildCallback rebuildCallback; diff --git a/src/conf/secret_conf.c b/src/conf/secret_conf.c index 3960cf04ad..2e35348ce1 100644 --- a/src/conf/secret_conf.c +++ b/src/conf/secret_conf.c @@ -294,12 +294,9 @@ virSecretDefFormat(const virSecretDef *def) def->description); if (def->usage_type != VIR_SECRET_USAGE_TYPE_NONE && virSecretDefFormatUsage(&buf, def) < 0) - goto error; + return NULL; virBufferAdjustIndent(&buf, -2); virBufferAddLit(&buf, "</secret>\n"); return virBufferContentAndReset(&buf); - - error: - return NULL; } diff --git a/src/conf/snapshot_conf.c b/src/conf/snapshot_conf.c index b7ed3b42df..07336e914f 100644 --- a/src/conf/snapshot_conf.c +++ b/src/conf/snapshot_conf.c @@ -877,7 +877,7 @@ virDomainSnapshotDefFormatInternal(virBufferPtr buf, virBufferAdjustIndent(buf, 2); for (i = 0; i < def->ndisks; i++) { if (virDomainSnapshotDiskDefFormat(buf, &def->disks[i], xmlopt) < 0) - goto error; + return -1; } virBufferAdjustIndent(buf, -2); virBufferAddLit(buf, "</disks>\n"); @@ -886,7 +886,7 @@ virDomainSnapshotDefFormatInternal(virBufferPtr buf, if (def->parent.dom) { if (virDomainDefFormatInternal(def->parent.dom, xmlopt, buf, domainflags) < 0) - goto error; + return -1; } else if (uuidstr) { virBufferAddLit(buf, "<domain>\n"); virBufferAdjustIndent(buf, 2); @@ -899,12 +899,12 @@ virDomainSnapshotDefFormatInternal(virBufferPtr buf, if (virDomainDefFormatInternalSetRootName(def->parent.inactiveDom, xmlopt, buf, "inactiveDomain", domainflags) < 0) - goto error; + return -1; } if (virSaveCookieFormatBuf(buf, def->cookie, virDomainXMLOptionGetSaveCookie(xmlopt)) < 0) - goto error; + return -1; if (flags & VIR_DOMAIN_SNAPSHOT_FORMAT_INTERNAL) virBufferAsprintf(buf, "<active>%d</active>\n", @@ -914,9 +914,6 @@ virDomainSnapshotDefFormatInternal(virBufferPtr buf, virBufferAddLit(buf, "</domainsnapshot>\n"); return 0; - - error: - return -1; } diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c index 7bc743887c..65d9b33049 100644 --- a/src/conf/storage_conf.c +++ b/src/conf/storage_conf.c @@ -1226,12 +1226,9 @@ virStoragePoolDefFormat(virStoragePoolDefPtr def) g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (virStoragePoolDefFormatBuf(&buf, def) < 0) - goto error; + return NULL; return virBufferContentAndReset(&buf); - - error: - return NULL; } @@ -1648,21 +1645,18 @@ virStorageVolDefFormat(virStoragePoolDefPtr pool, if (virStorageVolTargetDefFormat(options, &buf, &def->target, "target") < 0) - goto cleanup; + return NULL; if (virStorageSourceHasBacking(&def->target) && virStorageVolTargetDefFormat(options, &buf, def->target.backingStore, "backingStore") < 0) - goto cleanup; + return NULL; virBufferAdjustIndent(&buf, -2); virBufferAddLit(&buf, "</volume>\n"); return virBufferContentAndReset(&buf); - - cleanup: - return NULL; } @@ -1753,7 +1747,7 @@ virStoragePoolSourceListFormat(virStoragePoolSourceListPtr def) if (!type) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("unexpected pool type")); - goto cleanup; + return NULL; } virBufferAddLit(&buf, "<sources>\n"); @@ -1766,7 +1760,4 @@ virStoragePoolSourceListFormat(virStoragePoolSourceListPtr def) virBufferAddLit(&buf, "</sources>\n"); return virBufferContentAndReset(&buf); - - cleanup: - return NULL; } diff --git a/src/conf/virnetworkobj.c b/src/conf/virnetworkobj.c index 5d90dec2bc..8b12ce0482 100644 --- a/src/conf/virnetworkobj.c +++ b/src/conf/virnetworkobj.c @@ -820,7 +820,7 @@ virNetworkObjFormat(virNetworkObjPtr obj, size_t i; if (!classIdStr) - goto error; + return NULL; virBufferAddLit(&buf, "<networkstatus>\n"); virBufferAdjustIndent(&buf, 2); @@ -835,15 +835,12 @@ virNetworkObjFormat(virNetworkObjPtr obj, } if (virNetworkDefFormatBuf(&buf, obj->def, xmlopt, flags) < 0) - goto error; + return NULL; virBufferAdjustIndent(&buf, -2); virBufferAddLit(&buf, "</networkstatus>"); return virBufferContentAndReset(&buf); - - error: - return NULL; } diff --git a/src/conf/virsavecookie.c b/src/conf/virsavecookie.c index 429daf69be..d8c51ce0ef 100644 --- a/src/conf/virsavecookie.c +++ b/src/conf/virsavecookie.c @@ -130,10 +130,7 @@ virSaveCookieFormat(virObjectPtr obj, g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (virSaveCookieFormatBuf(&buf, obj, saveCookie) < 0) - goto error; + return NULL; return virBufferContentAndReset(&buf); - - error: - return NULL; } -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Signed-off-by: Laine Stump <laine@redhat.com> --- src/conf/capabilities.c | 5 +-- src/conf/checkpoint_conf.c | 8 ++-- src/conf/cpu_conf.c | 18 +++----- src/conf/domain_conf.c | 88 +++++++++++++++++++------------------- src/conf/network_conf.c | 5 +-- src/conf/nwfilter_conf.c | 5 +-- src/conf/secret_conf.c | 5 +-- src/conf/snapshot_conf.c | 11 ++--- src/conf/storage_conf.c | 17 ++------ src/conf/virnetworkobj.c | 7 +-- src/conf/virsavecookie.c | 5 +-- 11 files changed, 67 insertions(+), 107 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Laine Stump <laine@redhat.com> --- src/libxl/libxl_conf.c | 11 ++++------- src/libxl/xen_common.c | 16 +++++----------- src/libxl/xen_xl.c | 25 ++++++++----------------- src/libxl/xen_xm.c | 7 ++----- 4 files changed, 19 insertions(+), 40 deletions(-) diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c index fe8ad4a3cb..02cc5e6f1b 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c @@ -910,7 +910,6 @@ libxlMakeNetworkDiskSrcStr(virStorageSourcePtr src, const char *username, const char *secret) { - char *ret = NULL; g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; size_t i; @@ -931,14 +930,14 @@ libxlMakeNetworkDiskSrcStr(virStorageSourcePtr src, virReportError(VIR_ERR_NO_SUPPORT, _("Unsupported network block protocol '%s'"), virStorageNetProtocolTypeToString(src->protocol)); - goto cleanup; + return NULL; case VIR_STORAGE_NET_PROTOCOL_RBD: if (strchr(src->path, ':')) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("':' not allowed in RBD source volume name '%s'"), src->path); - goto cleanup; + return NULL; } virBufferStrcat(&buf, "rbd:", src->volume, "/", src->path, NULL); @@ -973,12 +972,10 @@ libxlMakeNetworkDiskSrcStr(virStorageSourcePtr src, if (src->configFile) virBufferEscape(&buf, '\\', ":", ":conf=%s", src->configFile); - ret = virBufferContentAndReset(&buf); - break; + return virBufferContentAndReset(&buf); } - cleanup: - return ret; + return NULL; } static int diff --git a/src/libxl/xen_common.c b/src/libxl/xen_common.c index 6b16752c8a..475c64f944 100644 --- a/src/libxl/xen_common.c +++ b/src/libxl/xen_common.c @@ -1640,13 +1640,13 @@ xenFormatSerial(virConfValuePtr list, virDomainChrDefPtr serial) if (serial) { ret = xenFormatSxprChr(serial, &buf); if (ret < 0) - goto cleanup; + return -1; } else { virBufferAddLit(&buf, "none"); } if (VIR_ALLOC(val) < 0) - goto cleanup; + return -1; val->type = VIR_CONF_STRING; val->str = virBufferContentAndReset(&buf); @@ -1659,9 +1659,6 @@ xenFormatSerial(virConfValuePtr list, virDomainChrDefPtr serial) list->list = val; return 0; - - cleanup: - return -1; } char * @@ -1781,12 +1778,12 @@ xenFormatNet(virConnectPtr conn, case VIR_DOMAIN_NET_TYPE_USER: virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("Unsupported net type '%s'"), virDomainNetTypeToString(net->type)); - goto cleanup; + return -1; case VIR_DOMAIN_NET_TYPE_LAST: default: virReportEnumRangeError(virDomainNetType, net->type); - goto cleanup; + return -1; } if (virDomainNetGetModelString(net)) { @@ -1810,7 +1807,7 @@ xenFormatNet(virConnectPtr conn, virBufferAsprintf(&buf, ",rate=%lluKB/s", net->bandwidth->out->average); if (VIR_ALLOC(val) < 0) - goto cleanup; + return -1; val->type = VIR_CONF_STRING; val->str = virBufferContentAndReset(&buf); @@ -1823,9 +1820,6 @@ xenFormatNet(virConnectPtr conn, list->list = val; return 0; - - cleanup: - return -1; } diff --git a/src/libxl/xen_xl.c b/src/libxl/xen_xl.c index 4baf5e336e..b81c5d23ce 100644 --- a/src/libxl/xen_xl.c +++ b/src/libxl/xen_xl.c @@ -1412,11 +1412,10 @@ static int xenFormatXLVnode(virConfValuePtr list, virBufferPtr buf) { - int ret = -1; virConfValuePtr numaPnode, tmp; if (VIR_ALLOC(numaPnode) < 0) - goto cleanup; + return -1; /* Place VNODE directive */ numaPnode->type = VIR_CONF_STRING; @@ -1429,10 +1428,8 @@ xenFormatXLVnode(virConfValuePtr list, tmp->next = numaPnode; else list->list = numaPnode; - ret = 0; - cleanup: - return ret; + return 0; } static int @@ -1561,7 +1558,6 @@ xenFormatXLXenbusLimits(virConfPtr conf, virDomainDefPtr def) static char * xenFormatXLDiskSrcNet(virStorageSourcePtr src) { - char *ret = NULL; g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; size_t i; @@ -1582,14 +1578,14 @@ xenFormatXLDiskSrcNet(virStorageSourcePtr src) virReportError(VIR_ERR_NO_SUPPORT, _("Unsupported network block protocol '%s'"), virStorageNetProtocolTypeToString(src->protocol)); - goto cleanup; + return NULL; case VIR_STORAGE_NET_PROTOCOL_RBD: if (strchr(src->path, ':')) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("':' not allowed in RBD source volume name '%s'"), src->path); - goto cleanup; + return NULL; } virBufferStrcat(&buf, "rbd:", src->volume, "/", src->path, NULL); @@ -1614,12 +1610,10 @@ xenFormatXLDiskSrcNet(virStorageSourcePtr src) } } - ret = virBufferContentAndReset(&buf); - break; + return virBufferContentAndReset(&buf); } - cleanup: - return ret; + return NULL; } @@ -2111,14 +2105,14 @@ xenFormatXLChannel(virConfValuePtr list, virDomainChrDefPtr channel) channel->source->data.nix.path); break; default: - goto cleanup; + return -1; } /* name */ virBufferAsprintf(&buf, "name=%s", channel->target.name); if (VIR_ALLOC(val) < 0) - goto cleanup; + return -1; val->type = VIR_CONF_STRING; val->str = virBufferContentAndReset(&buf); @@ -2130,9 +2124,6 @@ xenFormatXLChannel(virConfValuePtr list, virDomainChrDefPtr channel) else list->list = val; return 0; - - cleanup: - return -1; } static int diff --git a/src/libxl/xen_xm.c b/src/libxl/xen_xm.c index f28326ade8..81b64a2fb4 100644 --- a/src/libxl/xen_xm.c +++ b/src/libxl/xen_xm.c @@ -322,7 +322,7 @@ xenFormatXMDisk(virConfValuePtr list, virReportError(VIR_ERR_INTERNAL_ERROR, _("unsupported disk type %s"), virStorageTypeToString(virDomainDiskGetType(disk))); - goto cleanup; + return -1; } } virBufferAdd(&buf, src, -1); @@ -346,7 +346,7 @@ xenFormatXMDisk(virConfValuePtr list, } if (VIR_ALLOC(val) < 0) - goto cleanup; + return -1; val->type = VIR_CONF_STRING; val->str = virBufferContentAndReset(&buf); @@ -359,9 +359,6 @@ xenFormatXMDisk(virConfValuePtr list, list->list = val; return 0; - - cleanup: - return -1; } -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Signed-off-by: Laine Stump <laine@redhat.com> --- src/libxl/libxl_conf.c | 11 ++++------- src/libxl/xen_common.c | 16 +++++----------- src/libxl/xen_xl.c | 25 ++++++++----------------- src/libxl/xen_xm.c | 7 ++----- 4 files changed, 19 insertions(+), 40 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Laine Stump <laine@redhat.com> --- src/util/virqemu.c | 8 ++------ src/util/virsocketaddr.c | 22 +++++++--------------- src/util/virxml.c | 8 ++------ 3 files changed, 11 insertions(+), 27 deletions(-) diff --git a/src/util/virqemu.c b/src/util/virqemu.c index 52f3a2ca12..486b8e03db 100644 --- a/src/util/virqemu.c +++ b/src/util/virqemu.c @@ -361,16 +361,12 @@ char * virQEMUBuildDriveCommandlineFromJSON(virJSONValuePtr srcdef) { g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; - char *ret = NULL; if (virQEMUBuildCommandLineJSON(srcdef, &buf, NULL, false, virQEMUBuildCommandLineJSONArrayNumbered) < 0) - goto cleanup; - - ret = virBufferContentAndReset(&buf); + return NULL; - cleanup: - return ret; + return virBufferContentAndReset(&buf); } diff --git a/src/util/virsocketaddr.c b/src/util/virsocketaddr.c index 0fda8e101b..e0eb76ded3 100644 --- a/src/util/virsocketaddr.c +++ b/src/util/virsocketaddr.c @@ -1265,16 +1265,15 @@ virSocketAddrPTRDomain(const virSocketAddr *addr, { g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; size_t i; - int ret = -1; if (VIR_SOCKET_ADDR_IS_FAMILY(addr, AF_INET)) { virSocketAddrIPv4 ip; if (prefix == 0 || prefix >= 32 || prefix % 8 != 0) - goto unsupported; + return -2; if (virSocketAddrGetIPv4Addr(addr, &ip) < 0) - goto cleanup; + return -1; for (i = prefix / 8; i > 0; i--) virBufferAsprintf(&buf, "%u.", ip[i - 1]); @@ -1284,30 +1283,23 @@ virSocketAddrPTRDomain(const virSocketAddr *addr, virSocketAddrIPv6Nibbles ip; if (prefix == 0 || prefix >= 128 || prefix % 4 != 0) - goto unsupported; + return -2; if (virSocketAddrGetIPv6Nibbles(addr, &ip) < 0) - goto cleanup; + return -1; for (i = prefix / 4; i > 0; i--) virBufferAsprintf(&buf, "%x.", ip[i - 1]); virBufferAddLit(&buf, VIR_SOCKET_ADDR_IPV6_ARPA); } else { - goto unsupported; + return -2; } if (!(*ptr = virBufferContentAndReset(&buf))) - goto cleanup; - - ret = 0; - - cleanup: - return ret; + return -1; - unsupported: - ret = -2; - goto cleanup; + return 0; } void diff --git a/src/util/virxml.c b/src/util/virxml.c index 56e6f67597..5558b3829f 100644 --- a/src/util/virxml.c +++ b/src/util/virxml.c @@ -1271,19 +1271,15 @@ int virXMLValidatorValidate(virXMLValidatorPtr validator, xmlDocPtr doc) { - int ret = -1; - if (xmlRelaxNGValidateDoc(validator->rngValid, doc) != 0) { virReportError(VIR_ERR_XML_INVALID_SCHEMA, _("Unable to validate doc against %s\n%s"), validator->schemafile, virBufferCurrentContent(&validator->buf)); - goto cleanup; + return -1; } - ret = 0; - cleanup: - return ret; + return 0; } -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Signed-off-by: Laine Stump <laine@redhat.com> --- src/util/virqemu.c | 8 ++------ src/util/virsocketaddr.c | 22 +++++++--------------- src/util/virxml.c | 8 ++------ 3 files changed, 11 insertions(+), 27 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Laine Stump <laine@redhat.com> --- tests/virbuftest.c | 35 ++++++++++++++--------------------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/tests/virbuftest.c b/tests/virbuftest.c index 39ae7c2b9d..df341be50c 100644 --- a/tests/virbuftest.c +++ b/tests/virbuftest.c @@ -100,7 +100,6 @@ static int testBufTrim(const void *data G_GNUC_UNUSED) virBufferPtr buf = NULL; g_autofree char *result = NULL; const char *expected = "a,b"; - int ret = -1; virBufferTrim(buf, ""); buf = &bufinit; @@ -120,13 +119,10 @@ static int testBufTrim(const void *data G_GNUC_UNUSED) result = virBufferContentAndReset(buf); if (!result || STRNEQ(result, expected)) { virTestDifference(stderr, expected, result); - goto cleanup; + return -1; } - ret = 0; - - cleanup: - return ret; + return 0; } static int @@ -158,7 +154,6 @@ static int testBufAddBuffer(const void *data G_GNUC_UNUSED) g_auto(virBuffer) buf1 = VIR_BUFFER_INITIALIZER; g_auto(virBuffer) buf2 = VIR_BUFFER_INITIALIZER; g_auto(virBuffer) buf3 = VIR_BUFFER_INITIALIZER; - int ret = -1; g_autofree char *result = NULL; const char *expected = \ " A long time ago, in a galaxy far,\n" \ @@ -178,17 +173,17 @@ static int testBufAddBuffer(const void *data G_GNUC_UNUSED) if (virBufferUse(&buf1)) { VIR_TEST_DEBUG("buf1 already in use"); - goto cleanup; + return -1; } if (virBufferUse(&buf2)) { VIR_TEST_DEBUG("buf2 already in use"); - goto cleanup; + return -1; } if (virBufferUse(&buf3)) { VIR_TEST_DEBUG("buf3 already in use"); - goto cleanup; + return -1; } virBufferAdjustIndent(&buf1, 2); @@ -213,52 +208,50 @@ static int testBufAddBuffer(const void *data G_GNUC_UNUSED) if (!virBufferUse(&buf1)) { VIR_TEST_DEBUG("Error adding to buf1"); - goto cleanup; + return -1; } if (!virBufferUse(&buf2)) { VIR_TEST_DEBUG("Error adding to buf2"); - goto cleanup; + return -1; } if (!virBufferUse(&buf3)) { VIR_TEST_DEBUG("Error adding to buf3"); - goto cleanup; + return -1; } virBufferAddBuffer(&buf2, &buf3); if (!virBufferUse(&buf2)) { VIR_TEST_DEBUG("buf2 cleared mistakenly"); - goto cleanup; + return -1; } if (virBufferUse(&buf3)) { VIR_TEST_DEBUG("buf3 is not clear even though it should be"); - goto cleanup; + return -1; } virBufferAddBuffer(&buf1, &buf2); if (!virBufferUse(&buf1)) { VIR_TEST_DEBUG("buf1 cleared mistakenly"); - goto cleanup; + return -1; } if (virBufferUse(&buf2)) { VIR_TEST_DEBUG("buf2 is not clear even though it should be"); - goto cleanup; + return -1; } result = virBufferContentAndReset(&buf1); if (STRNEQ_NULLABLE(result, expected)) { virTestDifference(stderr, expected, result); - goto cleanup; + return -1; } - ret = 0; - cleanup: - return ret; + return 0; } static int -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Signed-off-by: Laine Stump <laine@redhat.com> --- tests/virbuftest.c | 35 ++++++++++++++--------------------- 1 file changed, 14 insertions(+), 21 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Laine Stump <laine@redhat.com> --- tools/virsh-pool.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/tools/virsh-pool.c b/tools/virsh-pool.c index 885e000ed2..622b1396d0 100644 --- a/tools/virsh-pool.c +++ b/tools/virsh-pool.c @@ -330,9 +330,10 @@ virshBuildPoolXML(vshControl *ctl, VSH_EXCLUSIVE_OPTIONS("secret-usage", "secret-uuid"); if (vshCommandOptStringReq(ctl, cmd, "name", &name) < 0) - goto cleanup; + return false; + if (vshCommandOptStringReq(ctl, cmd, "type", &type) < 0) - goto cleanup; + return false; if (vshCommandOptStringReq(ctl, cmd, "source-host", &srcHost) < 0 || vshCommandOptStringReq(ctl, cmd, "source-path", &srcPath) < 0 || @@ -351,8 +352,9 @@ virshBuildPoolXML(vshControl *ctl, vshCommandOptStringReq(ctl, cmd, "adapter-parent-wwnn", &adapterParentWwnn) < 0 || vshCommandOptStringReq(ctl, cmd, "adapter-parent-wwpn", &adapterParentWwpn) < 0 || vshCommandOptStringReq(ctl, cmd, "adapter-parent-fabric-wwn", &adapterParentFabricWwn) < 0 || - vshCommandOptStringReq(ctl, cmd, "source-protocol-ver", &protoVer) < 0) - goto cleanup; + vshCommandOptStringReq(ctl, cmd, "source-protocol-ver", &protoVer) < 0) { + return false; + } virBufferAsprintf(&buf, "<pool type='%s'>\n", type); virBufferAdjustIndent(&buf, 2); @@ -419,9 +421,6 @@ virshBuildPoolXML(vshControl *ctl, *xml = virBufferContentAndReset(&buf); *retname = name; return true; - - cleanup: - return false; } /* -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Signed-off-by: Laine Stump <laine@redhat.com> --- tools/virsh-pool.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Laine Stump <laine@redhat.com> --- src/network/bridge_driver.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index 9f37d8f558..713763130b 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -1842,7 +1842,6 @@ networkRadvdConfContents(virNetworkObjPtr obj, { virNetworkDefPtr def = virNetworkObjGetDef(obj); g_auto(virBuffer) configbuf = VIR_BUFFER_INITIALIZER; - int ret = -1; size_t i; virNetworkIPDefPtr ipdef; bool v6present = false, dhcp6 = false; @@ -1859,10 +1858,8 @@ networkRadvdConfContents(virNetworkObjPtr obj, } /* If there are no IPv6 addresses, then we are done */ - if (!v6present) { - ret = 0; - goto cleanup; - } + if (!v6present) + return 0; /* create radvd config file appropriate for this network; * IgnoreIfMissing allows radvd to start even when the bridge is down @@ -1887,10 +1884,11 @@ networkRadvdConfContents(virNetworkObjPtr obj, virReportError(VIR_ERR_INTERNAL_ERROR, _("bridge '%s' has an invalid prefix"), def->bridge); - goto cleanup; + return -1; } if (!(netaddr = virSocketAddrFormat(&ipdef->address))) - goto cleanup; + return -1; + virBufferAsprintf(&configbuf, " prefix %s/%d\n" " {\n%s };\n", @@ -1903,9 +1901,7 @@ networkRadvdConfContents(virNetworkObjPtr obj, *configstr = virBufferContentAndReset(&configbuf); - ret = 0; - cleanup: - return ret; + return 0; } -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Signed-off-by: Laine Stump <laine@redhat.com> --- src/network/bridge_driver.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Laine Stump <laine@redhat.com> --- src/lxc/lxc_controller.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c index 01cdeb29db..ae6b737b60 100644 --- a/src/lxc/lxc_controller.c +++ b/src/lxc/lxc_controller.c @@ -1380,13 +1380,12 @@ virLXCControllerSetupUsernsMap(virDomainIdMapEntryPtr map, { g_auto(virBuffer) map_value = VIR_BUFFER_INITIALIZER; size_t i; - int ret = -1; /* The kernel supports up to 340 lines in /proc/<pid>/{g,u}id_map */ if (num > 340) { virReportError(VIR_ERR_INVALID_ARG, "%s", _("Too many id mappings defined.")); - goto cleanup; + return -1; } for (i = 0; i < num; i++) @@ -1397,12 +1396,10 @@ virLXCControllerSetupUsernsMap(virDomainIdMapEntryPtr map, if (virFileWriteStr(path, virBufferCurrentContent(&map_value), 0) < 0) { virReportSystemError(errno, _("unable write to %s"), path); - goto cleanup; + return -1; } - ret = 0; - cleanup: - return ret; + return 0; } /** -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Signed-off-by: Laine Stump <laine@redhat.com> --- src/lxc/lxc_controller.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Laine Stump <laine@redhat.com> --- src/esx/esx_vi.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/esx/esx_vi.c b/src/esx/esx_vi.c index d48a24e9d3..71aa3876b3 100644 --- a/src/esx/esx_vi.c +++ b/src/esx/esx_vi.c @@ -369,7 +369,7 @@ int esxVI_CURL_Download(esxVI_CURL *curl, const char *url, char **content, unsigned long long offset, unsigned long long *length) { - char *range = NULL; + g_autofree char *range = NULL; g_auto(virBuffer) buffer = VIR_BUFFER_INITIALIZER; int responseCode = 0; @@ -405,12 +405,12 @@ esxVI_CURL_Download(esxVI_CURL *curl, const char *url, char **content, virMutexUnlock(&curl->lock); if (responseCode < 0) { - goto cleanup; + return -1; } else if (responseCode != 200 && responseCode != 206) { virReportError(VIR_ERR_INTERNAL_ERROR, _("HTTP response code %d for download from '%s'"), responseCode, url); - goto cleanup; + return -1; } if (length) @@ -418,9 +418,6 @@ esxVI_CURL_Download(esxVI_CURL *curl, const char *url, char **content, *content = virBufferContentAndReset(&buffer); - cleanup: - VIR_FREE(range); - if (!(*content)) return -1; -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Signed-off-by: Laine Stump <laine@redhat.com> --- src/esx/esx_vi.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Laine Stump <laine@redhat.com> --- src/nwfilter/nwfilter_ebiptables_driver.c | 89 +++++++++++------------ 1 file changed, 43 insertions(+), 46 deletions(-) diff --git a/src/nwfilter/nwfilter_ebiptables_driver.c b/src/nwfilter/nwfilter_ebiptables_driver.c index dad631f03b..6cdb3ca45e 100644 --- a/src/nwfilter/nwfilter_ebiptables_driver.c +++ b/src/nwfilter/nwfilter_ebiptables_driver.c @@ -1797,7 +1797,6 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, const char *target; bool hasMask = false; virFirewallRulePtr fwrule; - int ret = -1; g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (STREQ(chainSuffix, @@ -1813,7 +1812,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, \ field, sizeof(field), \ &rule->p.STRUCT.ITEM) < 0) \ - goto cleanup; \ + return -1; \ virFirewallRuleAddArg(fw, fwrule, CLI); \ if (ENTRY_WANT_NEG_SIGN(&rule->p.STRUCT.ITEM)) \ virFirewallRuleAddArg(fw, fwrule, "!"); \ @@ -1825,7 +1824,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, \ field, sizeof(field), \ &rule->p.STRUCT.ITEM) < 0) \ - goto cleanup; \ + return -1; \ virFirewallRuleAddArg(fw, fwrule, CLI); \ if (ENTRY_WANT_NEG_SIGN(&rule->p.STRUCT.ITEM)) \ virFirewallRuleAddArg(fw, fwrule, "!"); \ @@ -1833,7 +1832,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, \ fieldalt, sizeof(fieldalt), \ &rule->p.STRUCT.ITEM_HI) < 0) \ - goto cleanup; \ + return -1; \ virFirewallRuleAddArgFormat(fw, fwrule, \ "%s%s%s", field, SEP, fieldalt); \ } else { \ @@ -1855,13 +1854,13 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, vars, &rule->p.ethHdrFilter.ethHdr, reverse) < 0) - goto cleanup; + return -1; if (HAS_ENTRY_ITEM(&rule->p.ethHdrFilter.dataProtocolID)) { if (printDataTypeAsHex(vars, number, sizeof(number), &rule->p.ethHdrFilter.dataProtocolID) < 0) - goto cleanup; + return -1; virFirewallRuleAddArg(fw, fwrule, "-p"); if (ENTRY_WANT_NEG_SIGN(&rule->p.ethHdrFilter.dataProtocolID)) virFirewallRuleAddArg(fw, fwrule, "!"); @@ -1877,7 +1876,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, vars, &rule->p.vlanHdrFilter.ethHdr, reverse) < 0) - goto cleanup; + return -1; virFirewallRuleAddArgList(fw, fwrule, "-p", "0x8100", NULL); @@ -1906,7 +1905,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, vars, &rule->p.stpHdrFilter.ethHdr, reverse) < 0) - goto cleanup; + return -1; virFirewallRuleAddArgList(fw, fwrule, "-d", NWFILTER_MAC_BGA, NULL); @@ -1942,7 +1941,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, vars, &rule->p.arpHdrFilter.ethHdr, reverse) < 0) - goto cleanup; + return -1; virFirewallRuleAddArg(fw, fwrule, "-p"); virFirewallRuleAddArgFormat(fw, fwrule, "0x%x", @@ -1954,7 +1953,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.arpHdrFilter.dataHWType) < 0) - goto cleanup; + return -1; virFirewallRuleAddArg(fw, fwrule, "--arp-htype"); if (ENTRY_WANT_NEG_SIGN(&rule->p.arpHdrFilter.dataHWType)) virFirewallRuleAddArg(fw, fwrule, "!"); @@ -1965,7 +1964,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.arpHdrFilter.dataOpcode) < 0) - goto cleanup; + return -1; virFirewallRuleAddArg(fw, fwrule, "--arp-opcode"); if (ENTRY_WANT_NEG_SIGN(&rule->p.arpHdrFilter.dataOpcode)) virFirewallRuleAddArg(fw, fwrule, "!"); @@ -1976,7 +1975,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataTypeAsHex(vars, number, sizeof(number), &rule->p.arpHdrFilter.dataProtocolType) < 0) - goto cleanup; + return -1; virFirewallRuleAddArg(fw, fwrule, "--arp-ptype"); if (ENTRY_WANT_NEG_SIGN(&rule->p.arpHdrFilter.dataProtocolType)) virFirewallRuleAddArg(fw, fwrule, "!"); @@ -1987,13 +1986,13 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, ipaddr, sizeof(ipaddr), &rule->p.arpHdrFilter.dataARPSrcIPAddr) < 0) - goto cleanup; + return -1; if (HAS_ENTRY_ITEM(&rule->p.arpHdrFilter.dataARPSrcIPMask)) { if (printDataType(vars, ipmask, sizeof(ipmask), &rule->p.arpHdrFilter.dataARPSrcIPMask) < 0) - goto cleanup; + return -1; hasMask = true; } @@ -2009,13 +2008,13 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, ipaddr, sizeof(ipaddr), &rule->p.arpHdrFilter.dataARPDstIPAddr) < 0) - goto cleanup; + return -1; if (HAS_ENTRY_ITEM(&rule->p.arpHdrFilter.dataARPDstIPMask)) { if (printDataType(vars, ipmask, sizeof(ipmask), &rule->p.arpHdrFilter.dataARPDstIPMask) < 0) - goto cleanup; + return -1; hasMask = true; } @@ -2031,7 +2030,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, macaddr, sizeof(macaddr), &rule->p.arpHdrFilter.dataARPSrcMACAddr) < 0) - goto cleanup; + return -1; virFirewallRuleAddArg(fw, fwrule, reverse ? "--arp-mac-dst" : "--arp-mac-src"); @@ -2044,7 +2043,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, macaddr, sizeof(macaddr), &rule->p.arpHdrFilter.dataARPDstMACAddr) < 0) - goto cleanup; + return -1; virFirewallRuleAddArg(fw, fwrule, reverse ? "--arp-mac-src" : "--arp-mac-dst"); @@ -2069,7 +2068,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, vars, &rule->p.ipHdrFilter.ethHdr, reverse) < 0) - goto cleanup; + return -1; virFirewallRuleAddArgList(fw, fwrule, "-p", "ipv4", NULL); @@ -2078,7 +2077,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, ipaddr, sizeof(ipaddr), &rule->p.ipHdrFilter.ipHdr.dataSrcIPAddr) < 0) - goto cleanup; + return -1; virFirewallRuleAddArg(fw, fwrule, reverse ? "--ip-destination" : "--ip-source"); @@ -2089,7 +2088,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.ipHdrFilter.ipHdr.dataSrcIPMask) < 0) - goto cleanup; + return -1; virFirewallRuleAddArgFormat(fw, fwrule, "%s/%s", ipaddr, number); } else { @@ -2102,7 +2101,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, ipaddr, sizeof(ipaddr), &rule->p.ipHdrFilter.ipHdr.dataDstIPAddr) < 0) - goto cleanup; + return -1; virFirewallRuleAddArg(fw, fwrule, reverse ? "--ip-source" : "--ip-destination"); @@ -2113,7 +2112,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.ipHdrFilter.ipHdr.dataDstIPMask) < 0) - goto cleanup; + return -1; virFirewallRuleAddArgFormat(fw, fwrule, "%s/%s", ipaddr, number); } else { @@ -2125,7 +2124,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.ipHdrFilter.ipHdr.dataProtocolID) < 0) - goto cleanup; + return -1; virFirewallRuleAddArg(fw, fwrule, "--ip-protocol"); if (ENTRY_WANT_NEG_SIGN(&rule->p.ipHdrFilter.ipHdr.dataProtocolID)) @@ -2137,7 +2136,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.ipHdrFilter.portData.dataSrcPortStart) < 0) - goto cleanup; + return -1; virFirewallRuleAddArg(fw, fwrule, reverse ? "--ip-destination-port" : "--ip-source-port"); @@ -2148,7 +2147,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, numberalt, sizeof(numberalt), &rule->p.ipHdrFilter.portData.dataSrcPortEnd) < 0) - goto cleanup; + return -1; virFirewallRuleAddArgFormat(fw, fwrule, "%s:%s", number, numberalt); @@ -2161,7 +2160,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.ipHdrFilter.portData.dataDstPortStart) < 0) - goto cleanup; + return -1; virFirewallRuleAddArg(fw, fwrule, reverse ? "--ip-source-port" : "--ip-destination-port"); @@ -2172,7 +2171,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, numberalt, sizeof(numberalt), &rule->p.ipHdrFilter.portData.dataDstPortEnd) < 0) - goto cleanup; + return -1; virFirewallRuleAddArgFormat(fw, fwrule, "%s:%s", number, numberalt); @@ -2185,7 +2184,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataTypeAsHex(vars, number, sizeof(number), &rule->p.ipHdrFilter.ipHdr.dataDSCP) < 0) - goto cleanup; + return -1; virFirewallRuleAddArg(fw, fwrule, "--ip-tos"); if (ENTRY_WANT_NEG_SIGN(&rule->p.ipHdrFilter.ipHdr.dataDSCP)) @@ -2202,7 +2201,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, vars, &rule->p.ipv6HdrFilter.ethHdr, reverse) < 0) - goto cleanup; + return -1; virFirewallRuleAddArgList(fw, fwrule, "-p", "ipv6", NULL); @@ -2211,7 +2210,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, ipv6addr, sizeof(ipv6addr), &rule->p.ipv6HdrFilter.ipHdr.dataSrcIPAddr) < 0) - goto cleanup; + return -1; virFirewallRuleAddArg(fw, fwrule, reverse ? "--ip6-destination" : "--ip6-source"); @@ -2222,7 +2221,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.ipv6HdrFilter.ipHdr.dataSrcIPMask) < 0) - goto cleanup; + return -1; virFirewallRuleAddArgFormat(fw, fwrule, "%s/%s", ipv6addr, number); } else { @@ -2235,7 +2234,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, ipv6addr, sizeof(ipv6addr), &rule->p.ipv6HdrFilter.ipHdr.dataDstIPAddr) < 0) - goto cleanup; + return -1; virFirewallRuleAddArg(fw, fwrule, reverse ? "--ip6-source" : "--ip6-destination"); @@ -2246,7 +2245,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.ipv6HdrFilter.ipHdr.dataDstIPMask) < 0) - goto cleanup; + return -1; virFirewallRuleAddArgFormat(fw, fwrule, "%s/%s", ipv6addr, number); } else { @@ -2258,7 +2257,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.ipv6HdrFilter.ipHdr.dataProtocolID) < 0) - goto cleanup; + return -1; virFirewallRuleAddArg(fw, fwrule, "--ip6-protocol"); if (ENTRY_WANT_NEG_SIGN(&rule->p.ipv6HdrFilter.ipHdr.dataProtocolID)) @@ -2271,7 +2270,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.ipv6HdrFilter.portData.dataSrcPortStart) < 0) - goto cleanup; + return -1; virFirewallRuleAddArg(fw, fwrule, reverse ? "--ip6-destination-port" : "--ip6-source-port"); @@ -2282,7 +2281,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, numberalt, sizeof(numberalt), &rule->p.ipv6HdrFilter.portData.dataSrcPortEnd) < 0) - goto cleanup; + return -1; virFirewallRuleAddArgFormat(fw, fwrule, "%s:%s", number, numberalt); @@ -2296,7 +2295,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.ipv6HdrFilter.portData.dataDstPortStart) < 0) - goto cleanup; + return -1; virFirewallRuleAddArg(fw, fwrule, reverse ? "--ip6-source-port" : "--ip6-destination-port"); @@ -2307,7 +2306,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, numberalt, sizeof(numberalt), &rule->p.ipv6HdrFilter.portData.dataDstPortEnd) < 0) - goto cleanup; + return -1; virFirewallRuleAddArgFormat(fw, fwrule, "%s:%s", number, numberalt); @@ -2330,7 +2329,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.ipv6HdrFilter.dataICMPTypeStart) < 0) - goto cleanup; + return -1; lo = true; } else { ignore_value(virStrcpyStatic(number, "0")); @@ -2342,7 +2341,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, numberalt, sizeof(numberalt), &rule->p.ipv6HdrFilter.dataICMPTypeEnd) < 0) - goto cleanup; + return -1; } else { if (lo) ignore_value(virStrcpyStatic(numberalt, number)); @@ -2358,7 +2357,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.ipv6HdrFilter.dataICMPCodeStart) < 0) - goto cleanup; + return -1; lo = true; } else { ignore_value(virStrcpyStatic(number, "0")); @@ -2370,7 +2369,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, numberalt, sizeof(numberalt), &rule->p.ipv6HdrFilter.dataICMPCodeEnd) < 0) - goto cleanup; + return -1; } else { if (lo) ignore_value(virStrcpyStatic(numberalt, number)); @@ -2421,9 +2420,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, #undef INST_ITEM_2PARMS #undef INST_ITEM - ret = 0; - cleanup: - return ret; + return 0; } -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Signed-off-by: Laine Stump <laine@redhat.com> --- src/nwfilter/nwfilter_ebiptables_driver.c | 89 +++++++++++------------ 1 file changed, 43 insertions(+), 46 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Laine Stump <laine@redhat.com> --- src/storage/storage_util.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/storage/storage_util.c b/src/storage/storage_util.c index 36b5b21a5b..9f46ea764b 100644 --- a/src/storage/storage_util.c +++ b/src/storage/storage_util.c @@ -749,7 +749,7 @@ storageBackendCreateQemuImgOpts(virStorageEncryptionInfoDefPtr encinfo, _("lazy_refcounts not supported with compat" " level %s"), info->compat); - goto error; + return -1; } virBufferAddLit(&buf, "lazy_refcounts,"); } @@ -759,9 +759,6 @@ storageBackendCreateQemuImgOpts(virStorageEncryptionInfoDefPtr encinfo, *opts = virBufferContentAndReset(&buf); return 0; - - error: - return -1; } -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Signed-off-by: Laine Stump <laine@redhat.com> --- src/storage/storage_util.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Laine Stump <laine@redhat.com> --- src/network/bridge_driver_linux.c | 11 ++--- src/nwfilter/nwfilter_ebiptables_driver.c | 31 ++++---------- src/util/virebtables.c | 8 +--- src/util/viriptables.c | 6 +-- tests/virfirewalltest.c | 50 +++++------------------ 5 files changed, 25 insertions(+), 81 deletions(-) diff --git a/src/network/bridge_driver_linux.c b/src/network/bridge_driver_linux.c index 30f6aa8fe1..f72f94f38d 100644 --- a/src/network/bridge_driver_linux.c +++ b/src/network/bridge_driver_linux.c @@ -838,7 +838,7 @@ int networkAddFirewallRules(virNetworkDefPtr def) { size_t i; virNetworkIPDefPtr ipdef; - virFirewallPtr fw = NULL; + g_autoptr(virFirewall) fw = virFirewallNew(); int ret = -1; if (virOnce(&createdOnce, networkSetupPrivateChains) < 0) @@ -925,8 +925,6 @@ int networkAddFirewallRules(virNetworkDefPtr def) } } - fw = virFirewallNew(); - virFirewallStartTransaction(fw, 0); networkAddGeneralFirewallRules(fw, def); @@ -956,7 +954,6 @@ int networkAddFirewallRules(virNetworkDefPtr def) ret = 0; cleanup: - virFirewallFree(fw); return ret; } @@ -965,9 +962,7 @@ void networkRemoveFirewallRules(virNetworkDefPtr def) { size_t i; virNetworkIPDefPtr ipdef; - virFirewallPtr fw = NULL; - - fw = virFirewallNew(); + g_autoptr(virFirewall) fw = virFirewallNew(); virFirewallStartTransaction(fw, VIR_FIREWALL_TRANSACTION_IGNORE_ERRORS); networkRemoveChecksumFirewallRules(fw, def); @@ -985,5 +980,5 @@ void networkRemoveFirewallRules(virNetworkDefPtr def) virFirewallApply(fw); cleanup: - virFirewallFree(fw); + return; } diff --git a/src/nwfilter/nwfilter_ebiptables_driver.c b/src/nwfilter/nwfilter_ebiptables_driver.c index 6cdb3ca45e..2976521e6d 100644 --- a/src/nwfilter/nwfilter_ebiptables_driver.c +++ b/src/nwfilter/nwfilter_ebiptables_driver.c @@ -2858,7 +2858,7 @@ static int ebtablesApplyBasicRules(const char *ifname, const virMacAddr *macaddr) { - virFirewallPtr fw = virFirewallNew(); + g_autoptr(virFirewall) fw = virFirewallNew(); char chain[MAX_CHAINNAME_LENGTH]; char chainPrefix = CHAINPREFIX_HOST_IN_TEMP; char macaddr_str[VIR_MAC_STRING_BUFLEN]; @@ -2895,13 +2895,11 @@ ebtablesApplyBasicRules(const char *ifname, if (virFirewallApply(fw) < 0) goto tear_down_tmpebchains; - virFirewallFree(fw); return 0; tear_down_tmpebchains: ebtablesCleanAll(ifname); error: - virFirewallFree(fw); return -1; } @@ -2934,7 +2932,7 @@ ebtablesApplyDHCPOnlyRules(const char *ifname, char macaddr_str[VIR_MAC_STRING_BUFLEN]; unsigned int idx = 0; unsigned int num_dhcpsrvrs; - virFirewallPtr fw = virFirewallNew(); + g_autoptr(virFirewall) fw = virFirewallNew(); virMacAddrFormat(macaddr, macaddr_str); @@ -3014,14 +3012,11 @@ ebtablesApplyDHCPOnlyRules(const char *ifname, if (virFirewallApply(fw) < 0) goto tear_down_tmpebchains; - virFirewallFree(fw); - return 0; tear_down_tmpebchains: ebtablesCleanAll(ifname); error: - virFirewallFree(fw); return -1; } @@ -3040,7 +3035,7 @@ ebtablesApplyDropAllRules(const char *ifname) { char chain_in [MAX_CHAINNAME_LENGTH], chain_out[MAX_CHAINNAME_LENGTH]; - virFirewallPtr fw = virFirewallNew(); + g_autoptr(virFirewall) fw = virFirewallNew(); if (ebiptablesAllTeardown(ifname) < 0) goto error; @@ -3069,13 +3064,11 @@ ebtablesApplyDropAllRules(const char *ifname) if (virFirewallApply(fw) < 0) goto tear_down_tmpebchains; - virFirewallFree(fw); return 0; tear_down_tmpebchains: ebtablesCleanAll(ifname); error: - virFirewallFree(fw); return -1; } @@ -3090,7 +3083,7 @@ ebtablesRemoveBasicRules(const char *ifname) static int ebtablesCleanAll(const char *ifname) { - virFirewallPtr fw = virFirewallNew(); + g_autoptr(virFirewall) fw = virFirewallNew(); int ret = -1; virFirewallStartTransaction(fw, VIR_FIREWALL_TRANSACTION_IGNORE_ERRORS); @@ -3108,7 +3101,6 @@ ebtablesCleanAll(const char *ifname) ebtablesRemoveTmpRootChainFW(fw, false, ifname); ret = virFirewallApply(fw); - virFirewallFree(fw); return ret; } @@ -3357,7 +3349,7 @@ ebiptablesApplyNewRules(const char *ifname, size_t nrules) { size_t i, j; - virFirewallPtr fw = virFirewallNew(); + g_autoptr(virFirewall) fw = virFirewallNew(); virHashTablePtr chains_in_set = virHashCreate(10, NULL); virHashTablePtr chains_out_set = virHashCreate(10, NULL); bool haveEbtables = false; @@ -3558,7 +3550,6 @@ ebiptablesApplyNewRules(const char *ifname, for (i = 0; i < nsubchains; i++) VIR_FREE(subchains[i]); VIR_FREE(subchains); - virFirewallFree(fw); virHashFree(chains_in_set); virHashFree(chains_out_set); @@ -3586,7 +3577,7 @@ ebiptablesTearNewRulesFW(virFirewallPtr fw, const char *ifname) static int ebiptablesTearNewRules(const char *ifname) { - virFirewallPtr fw = virFirewallNew(); + g_autoptr(virFirewall) fw = virFirewallNew(); int ret = -1; virFirewallStartTransaction(fw, VIR_FIREWALL_TRANSACTION_IGNORE_ERRORS); @@ -3594,14 +3585,13 @@ ebiptablesTearNewRules(const char *ifname) ebiptablesTearNewRulesFW(fw, ifname); ret = virFirewallApply(fw); - virFirewallFree(fw); return ret; } static int ebiptablesTearOldRules(const char *ifname) { - virFirewallPtr fw = virFirewallNew(); + g_autoptr(virFirewall) fw = virFirewallNew(); int ret = -1; virFirewallStartTransaction(fw, VIR_FIREWALL_TRANSACTION_IGNORE_ERRORS); @@ -3622,7 +3612,6 @@ ebiptablesTearOldRules(const char *ifname) ebtablesRenameTmpSubAndRootChainsFW(fw, ifname); ret = virFirewallApply(fw); - virFirewallFree(fw); return ret; } @@ -3639,7 +3628,7 @@ ebiptablesTearOldRules(const char *ifname) static int ebiptablesAllTeardown(const char *ifname) { - virFirewallPtr fw = virFirewallNew(); + g_autoptr(virFirewall) fw = virFirewallNew(); int ret = -1; virFirewallStartTransaction(fw, VIR_FIREWALL_TRANSACTION_IGNORE_ERRORS); @@ -3663,7 +3652,6 @@ ebiptablesAllTeardown(const char *ifname) ebtablesRemoveRootChainFW(fw, false, ifname); ret = virFirewallApply(fw); - virFirewallFree(fw); return ret; } @@ -3749,7 +3737,7 @@ static int ebiptablesDriverProbeStateMatch(void) { unsigned long version; - virFirewallPtr fw = virFirewallNew(); + g_autoptr(virFirewall) fw = virFirewallNew(); int ret = -1; virFirewallStartTransaction(fw, 0); @@ -3769,7 +3757,6 @@ ebiptablesDriverProbeStateMatch(void) ret = 0; cleanup: - virFirewallFree(fw); return ret; } diff --git a/src/util/virebtables.c b/src/util/virebtables.c index 14a922834a..69483f35ec 100644 --- a/src/util/virebtables.c +++ b/src/util/virebtables.c @@ -82,10 +82,9 @@ ebtablesContextFree(ebtablesContext *ctx) int ebtablesAddForwardPolicyReject(ebtablesContext *ctx) { - virFirewallPtr fw = NULL; + g_autoptr(virFirewall) fw = virFirewallNew(); int ret = -1; - fw = virFirewallNew(); virFirewallStartTransaction(fw, VIR_FIREWALL_TRANSACTION_IGNORE_ERRORS); virFirewallAddRule(fw, VIR_FIREWALL_LAYER_ETHERNET, "--new-chain", ctx->chain, @@ -104,7 +103,6 @@ ebtablesAddForwardPolicyReject(ebtablesContext *ctx) ret = 0; cleanup: - virFirewallFree(fw); return ret; } @@ -118,10 +116,9 @@ ebtablesForwardAllowIn(ebtablesContext *ctx, const char *macaddr, int action) { - virFirewallPtr fw = NULL; + g_autoptr(virFirewall) fw = virFirewallNew(); int ret = -1; - fw = virFirewallNew(); virFirewallStartTransaction(fw, 0); virFirewallAddRule(fw, VIR_FIREWALL_LAYER_ETHERNET, action == ADD ? "--insert" : "--delete", @@ -136,7 +133,6 @@ ebtablesForwardAllowIn(ebtablesContext *ctx, ret = 0; cleanup: - virFirewallFree(fw); return ret; } diff --git a/src/util/viriptables.c b/src/util/viriptables.c index 8ccce835b2..b1ef3a2db6 100644 --- a/src/util/viriptables.c +++ b/src/util/viriptables.c @@ -128,7 +128,7 @@ iptablesPrivateChainCreate(virFirewallPtr fw, int iptablesSetupPrivateChains(virFirewallLayer layer) { - virFirewallPtr fw = NULL; + g_autoptr(virFirewall) fw = virFirewallNew(); int ret = -1; iptablesGlobalChain filter_chains[] = { {"INPUT", "LIBVIRT_INP"}, @@ -151,8 +151,6 @@ iptablesSetupPrivateChains(virFirewallLayer layer) }; size_t i; - fw = virFirewallNew(); - virFirewallStartTransaction(fw, 0); for (i = 0; i < G_N_ELEMENTS(data); i++) @@ -167,8 +165,6 @@ iptablesSetupPrivateChains(virFirewallLayer layer) ret = changed ? 1 : 0; cleanup: - - virFirewallFree(fw); return ret; } diff --git a/tests/virfirewalltest.c b/tests/virfirewalltest.c index 4105c1867e..ce252bd0e0 100644 --- a/tests/virfirewalltest.c +++ b/tests/virfirewalltest.c @@ -200,7 +200,7 @@ static int testFirewallSingleGroup(const void *opaque) { g_auto(virBuffer) cmdbuf = VIR_BUFFER_INITIALIZER; - virFirewallPtr fw = NULL; + g_autoptr(virFirewall) fw = virFirewallNew(); int ret = -1; const char *actual = NULL; const char *expected = @@ -217,8 +217,6 @@ testFirewallSingleGroup(const void *opaque) else fwBuf = &cmdbuf; - fw = virFirewallNew(); - virFirewallStartTransaction(fw, 0); virFirewallAddRule(fw, VIR_FIREWALL_LAYER_IPV4, @@ -246,7 +244,6 @@ testFirewallSingleGroup(const void *opaque) cleanup: fwBuf = NULL; virCommandSetDryRun(NULL, NULL, NULL); - virFirewallFree(fw); return ret; } @@ -255,7 +252,7 @@ static int testFirewallRemoveRule(const void *opaque) { g_auto(virBuffer) cmdbuf = VIR_BUFFER_INITIALIZER; - virFirewallPtr fw = NULL; + g_autoptr(virFirewall) fw = virFirewallNew(); int ret = -1; const char *actual = NULL; const char *expected = @@ -273,8 +270,6 @@ testFirewallRemoveRule(const void *opaque) else fwBuf = &cmdbuf; - fw = virFirewallNew(); - virFirewallStartTransaction(fw, 0); virFirewallAddRule(fw, VIR_FIREWALL_LAYER_IPV4, @@ -308,7 +303,6 @@ testFirewallRemoveRule(const void *opaque) cleanup: fwBuf = NULL; virCommandSetDryRun(NULL, NULL, NULL); - virFirewallFree(fw); return ret; } @@ -317,7 +311,7 @@ static int testFirewallManyGroups(const void *opaque G_GNUC_UNUSED) { g_auto(virBuffer) cmdbuf = VIR_BUFFER_INITIALIZER; - virFirewallPtr fw = NULL; + g_autoptr(virFirewall) fw = virFirewallNew(); int ret = -1; const char *actual = NULL; const char *expected = @@ -336,8 +330,6 @@ testFirewallManyGroups(const void *opaque G_GNUC_UNUSED) else fwBuf = &cmdbuf; - fw = virFirewallNew(); - virFirewallStartTransaction(fw, 0); virFirewallAddRule(fw, VIR_FIREWALL_LAYER_IPV4, @@ -377,7 +369,6 @@ testFirewallManyGroups(const void *opaque G_GNUC_UNUSED) cleanup: fwBuf = NULL; virCommandSetDryRun(NULL, NULL, NULL); - virFirewallFree(fw); return ret; } @@ -407,7 +398,7 @@ static int testFirewallIgnoreFailGroup(const void *opaque G_GNUC_UNUSED) { g_auto(virBuffer) cmdbuf = VIR_BUFFER_INITIALIZER; - virFirewallPtr fw = NULL; + g_autoptr(virFirewall) fw = virFirewallNew(); int ret = -1; const char *actual = NULL; const char *expected = @@ -428,8 +419,6 @@ testFirewallIgnoreFailGroup(const void *opaque G_GNUC_UNUSED) fwError = true; } - fw = virFirewallNew(); - virFirewallStartTransaction(fw, VIR_FIREWALL_TRANSACTION_IGNORE_ERRORS); virFirewallAddRule(fw, VIR_FIREWALL_LAYER_IPV4, @@ -469,7 +458,6 @@ testFirewallIgnoreFailGroup(const void *opaque G_GNUC_UNUSED) cleanup: fwBuf = NULL; virCommandSetDryRun(NULL, NULL, NULL); - virFirewallFree(fw); return ret; } @@ -478,7 +466,7 @@ static int testFirewallIgnoreFailRule(const void *opaque G_GNUC_UNUSED) { g_auto(virBuffer) cmdbuf = VIR_BUFFER_INITIALIZER; - virFirewallPtr fw = NULL; + g_autoptr(virFirewall) fw = virFirewallNew(); int ret = -1; const char *actual = NULL; const char *expected = @@ -499,8 +487,6 @@ testFirewallIgnoreFailRule(const void *opaque G_GNUC_UNUSED) fwError = true; } - fw = virFirewallNew(); - virFirewallStartTransaction(fw, 0); virFirewallAddRule(fw, VIR_FIREWALL_LAYER_IPV4, @@ -539,7 +525,6 @@ testFirewallIgnoreFailRule(const void *opaque G_GNUC_UNUSED) cleanup: fwBuf = NULL; virCommandSetDryRun(NULL, NULL, NULL); - virFirewallFree(fw); return ret; } @@ -548,7 +533,7 @@ static int testFirewallNoRollback(const void *opaque G_GNUC_UNUSED) { g_auto(virBuffer) cmdbuf = VIR_BUFFER_INITIALIZER; - virFirewallPtr fw = NULL; + g_autoptr(virFirewall) fw = virFirewallNew(); int ret = -1; const char *actual = NULL; const char *expected = @@ -567,8 +552,6 @@ testFirewallNoRollback(const void *opaque G_GNUC_UNUSED) fwError = true; } - fw = virFirewallNew(); - virFirewallStartTransaction(fw, 0); virFirewallAddRule(fw, VIR_FIREWALL_LAYER_IPV4, @@ -603,7 +586,6 @@ testFirewallNoRollback(const void *opaque G_GNUC_UNUSED) cleanup: fwBuf = NULL; virCommandSetDryRun(NULL, NULL, NULL); - virFirewallFree(fw); return ret; } @@ -611,7 +593,7 @@ static int testFirewallSingleRollback(const void *opaque G_GNUC_UNUSED) { g_auto(virBuffer) cmdbuf = VIR_BUFFER_INITIALIZER; - virFirewallPtr fw = NULL; + g_autoptr(virFirewall) fw = virFirewallNew(); int ret = -1; const char *actual = NULL; const char *expected = @@ -633,8 +615,6 @@ testFirewallSingleRollback(const void *opaque G_GNUC_UNUSED) fwBuf = &cmdbuf; } - fw = virFirewallNew(); - virFirewallStartTransaction(fw, 0); virFirewallAddRule(fw, VIR_FIREWALL_LAYER_IPV4, @@ -686,7 +666,6 @@ testFirewallSingleRollback(const void *opaque G_GNUC_UNUSED) cleanup: fwBuf = NULL; virCommandSetDryRun(NULL, NULL, NULL); - virFirewallFree(fw); return ret; } @@ -694,7 +673,7 @@ static int testFirewallManyRollback(const void *opaque G_GNUC_UNUSED) { g_auto(virBuffer) cmdbuf = VIR_BUFFER_INITIALIZER; - virFirewallPtr fw = NULL; + g_autoptr(virFirewall) fw = virFirewallNew(); int ret = -1; const char *actual = NULL; const char *expected = @@ -715,8 +694,6 @@ testFirewallManyRollback(const void *opaque G_GNUC_UNUSED) fwError = true; } - fw = virFirewallNew(); - virFirewallStartTransaction(fw, 0); virFirewallAddRule(fw, VIR_FIREWALL_LAYER_IPV4, @@ -772,7 +749,6 @@ testFirewallManyRollback(const void *opaque G_GNUC_UNUSED) cleanup: fwBuf = NULL; virCommandSetDryRun(NULL, NULL, NULL); - virFirewallFree(fw); return ret; } @@ -780,7 +756,7 @@ static int testFirewallChainedRollback(const void *opaque G_GNUC_UNUSED) { g_auto(virBuffer) cmdbuf = VIR_BUFFER_INITIALIZER; - virFirewallPtr fw = NULL; + g_autoptr(virFirewall) fw = virFirewallNew(); int ret = -1; const char *actual = NULL; const char *expected = @@ -805,8 +781,6 @@ testFirewallChainedRollback(const void *opaque G_GNUC_UNUSED) fwError = true; } - fw = virFirewallNew(); - virFirewallStartTransaction(fw, 0); virFirewallAddRule(fw, VIR_FIREWALL_LAYER_IPV4, @@ -888,7 +862,6 @@ testFirewallChainedRollback(const void *opaque G_GNUC_UNUSED) cleanup: fwBuf = NULL; virCommandSetDryRun(NULL, NULL, NULL); - virFirewallFree(fw); return ret; } @@ -973,7 +946,7 @@ static int testFirewallQuery(const void *opaque G_GNUC_UNUSED) { g_auto(virBuffer) cmdbuf = VIR_BUFFER_INITIALIZER; - virFirewallPtr fw = NULL; + g_autoptr(virFirewall) fw = virFirewallNew(); int ret = -1; const char *actual = NULL; const char *expected = @@ -1001,8 +974,6 @@ testFirewallQuery(const void *opaque G_GNUC_UNUSED) fwError = true; } - fw = virFirewallNew(); - virFirewallStartTransaction(fw, 0); virFirewallAddRule(fw, VIR_FIREWALL_LAYER_IPV4, @@ -1066,7 +1037,6 @@ testFirewallQuery(const void *opaque G_GNUC_UNUSED) cleanup: fwBuf = NULL; virCommandSetDryRun(NULL, NULL, NULL); - virFirewallFree(fw); return ret; } -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
Signed-off-by: Laine Stump <laine@redhat.com> --- src/network/bridge_driver_linux.c | 11 ++--- src/nwfilter/nwfilter_ebiptables_driver.c | 31 ++++---------- src/util/virebtables.c | 8 +--- src/util/viriptables.c | 6 +-- tests/virfirewalltest.c | 50 +++++------------------ 5 files changed, 25 insertions(+), 81 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

after making all virFirewall objects use g_autoptr(). Signed-off-by: Laine Stump <laine@redhat.com> --- src/network/bridge_driver_linux.c | 27 +++++++------------ src/nwfilter/nwfilter_ebiptables_driver.c | 32 +++++++---------------- src/util/virebtables.c | 16 ++---------- src/util/viriptables.c | 8 ++---- 4 files changed, 22 insertions(+), 61 deletions(-) diff --git a/src/network/bridge_driver_linux.c b/src/network/bridge_driver_linux.c index f72f94f38d..5fc77785dc 100644 --- a/src/network/bridge_driver_linux.c +++ b/src/network/bridge_driver_linux.c @@ -839,7 +839,6 @@ int networkAddFirewallRules(virNetworkDefPtr def) size_t i; virNetworkIPDefPtr ipdef; g_autoptr(virFirewall) fw = virFirewallNew(); - int ret = -1; if (virOnce(&createdOnce, networkSetupPrivateChains) < 0) return -1; @@ -869,11 +868,11 @@ int networkAddFirewallRules(virNetworkDefPtr def) _("zone %s requested for network %s " "but firewalld is not active"), def->bridgeZone, def->name); - goto cleanup; + return -1; } if (virFirewallDInterfaceSetZone(def->bridge, def->bridgeZone) < 0) - goto cleanup; + return -1; } else { @@ -893,13 +892,13 @@ int networkAddFirewallRules(virNetworkDefPtr def) */ if (virFirewallDZoneExists("libvirt")) { if (virFirewallDInterfaceSetZone(def->bridge, "libvirt") < 0) - goto cleanup; + return -1; } else { unsigned long version; int vresult = virFirewallDGetVersion(&version); if (vresult < 0) - goto cleanup; + return -1; /* Support for nftables backend was added in firewalld * 0.6.0. Support for rule priorities (required by the @@ -919,7 +918,7 @@ int networkAddFirewallRules(virNetworkDefPtr def) "version supporting rule priorities " "(0.7.0+) and/or rebuilding " "libvirt with --with-firewalld-zone")); - goto cleanup; + return -1; } } } @@ -933,7 +932,7 @@ int networkAddFirewallRules(virNetworkDefPtr def) (ipdef = virNetworkDefGetIPByIndex(def, AF_UNSPEC, i)); i++) { if (networkAddIPSpecificFirewallRules(fw, def, ipdef) < 0) - goto cleanup; + return -1; } virFirewallStartRollback(fw, 0); @@ -942,19 +941,14 @@ int networkAddFirewallRules(virNetworkDefPtr def) (ipdef = virNetworkDefGetIPByIndex(def, AF_UNSPEC, i)); i++) { if (networkRemoveIPSpecificFirewallRules(fw, def, ipdef) < 0) - goto cleanup; + return -1; } networkRemoveGeneralFirewallRules(fw, def); virFirewallStartTransaction(fw, VIR_FIREWALL_TRANSACTION_IGNORE_ERRORS); networkAddChecksumFirewallRules(fw, def); - if (virFirewallApply(fw) < 0) - goto cleanup; - - ret = 0; - cleanup: - return ret; + return virFirewallApply(fw); } /* Remove all rules for all ip addresses (and general rules) on a network */ @@ -973,12 +967,9 @@ void networkRemoveFirewallRules(virNetworkDefPtr def) (ipdef = virNetworkDefGetIPByIndex(def, AF_UNSPEC, i)); i++) { if (networkRemoveIPSpecificFirewallRules(fw, def, ipdef) < 0) - goto cleanup; + return; } networkRemoveGeneralFirewallRules(fw, def); virFirewallApply(fw); - - cleanup: - return; } diff --git a/src/nwfilter/nwfilter_ebiptables_driver.c b/src/nwfilter/nwfilter_ebiptables_driver.c index 2976521e6d..78a52408b2 100644 --- a/src/nwfilter/nwfilter_ebiptables_driver.c +++ b/src/nwfilter/nwfilter_ebiptables_driver.c @@ -2866,7 +2866,7 @@ ebtablesApplyBasicRules(const char *ifname, virMacAddrFormat(macaddr, macaddr_str); if (ebiptablesAllTeardown(ifname) < 0) - goto error; + return -1; virFirewallStartTransaction(fw, 0); @@ -2899,7 +2899,6 @@ ebtablesApplyBasicRules(const char *ifname, tear_down_tmpebchains: ebtablesCleanAll(ifname); - error: return -1; } @@ -2937,7 +2936,7 @@ ebtablesApplyDHCPOnlyRules(const char *ifname, virMacAddrFormat(macaddr, macaddr_str); if (ebiptablesAllTeardown(ifname) < 0) - goto error; + return -1; virFirewallStartTransaction(fw, 0); @@ -3016,7 +3015,6 @@ ebtablesApplyDHCPOnlyRules(const char *ifname, tear_down_tmpebchains: ebtablesCleanAll(ifname); - error: return -1; } @@ -3038,7 +3036,7 @@ ebtablesApplyDropAllRules(const char *ifname) g_autoptr(virFirewall) fw = virFirewallNew(); if (ebiptablesAllTeardown(ifname) < 0) - goto error; + return -1; virFirewallStartTransaction(fw, 0); @@ -3068,7 +3066,6 @@ ebtablesApplyDropAllRules(const char *ifname) tear_down_tmpebchains: ebtablesCleanAll(ifname); - error: return -1; } @@ -3084,7 +3081,6 @@ static int ebtablesCleanAll(const char *ifname) { g_autoptr(virFirewall) fw = virFirewallNew(); - int ret = -1; virFirewallStartTransaction(fw, VIR_FIREWALL_TRANSACTION_IGNORE_ERRORS); @@ -3100,8 +3096,7 @@ ebtablesCleanAll(const char *ifname) ebtablesRemoveTmpRootChainFW(fw, true, ifname); ebtablesRemoveTmpRootChainFW(fw, false, ifname); - ret = virFirewallApply(fw); - return ret; + return virFirewallApply(fw); } @@ -3578,21 +3573,18 @@ static int ebiptablesTearNewRules(const char *ifname) { g_autoptr(virFirewall) fw = virFirewallNew(); - int ret = -1; virFirewallStartTransaction(fw, VIR_FIREWALL_TRANSACTION_IGNORE_ERRORS); ebiptablesTearNewRulesFW(fw, ifname); - ret = virFirewallApply(fw); - return ret; + return virFirewallApply(fw); } static int ebiptablesTearOldRules(const char *ifname) { g_autoptr(virFirewall) fw = virFirewallNew(); - int ret = -1; virFirewallStartTransaction(fw, VIR_FIREWALL_TRANSACTION_IGNORE_ERRORS); @@ -3611,8 +3603,7 @@ ebiptablesTearOldRules(const char *ifname) ebtablesRemoveRootChainFW(fw, false, ifname); ebtablesRenameTmpSubAndRootChainsFW(fw, ifname); - ret = virFirewallApply(fw); - return ret; + return virFirewallApply(fw); } @@ -3629,7 +3620,6 @@ static int ebiptablesAllTeardown(const char *ifname) { g_autoptr(virFirewall) fw = virFirewallNew(); - int ret = -1; virFirewallStartTransaction(fw, VIR_FIREWALL_TRANSACTION_IGNORE_ERRORS); @@ -3651,8 +3641,7 @@ ebiptablesAllTeardown(const char *ifname) ebtablesRemoveRootChainFW(fw, true, ifname); ebtablesRemoveRootChainFW(fw, false, ifname); - ret = virFirewallApply(fw); - return ret; + return virFirewallApply(fw); } @@ -3738,7 +3727,6 @@ ebiptablesDriverProbeStateMatch(void) { unsigned long version; g_autoptr(virFirewall) fw = virFirewallNew(); - int ret = -1; virFirewallStartTransaction(fw, 0); virFirewallAddRuleFull(fw, VIR_FIREWALL_LAYER_IPV4, @@ -3746,7 +3734,7 @@ ebiptablesDriverProbeStateMatch(void) "--version", NULL); if (virFirewallApply(fw) < 0) - goto cleanup; + return -1; /* * since version 1.4.16 '-m state --state ...' will be converted to @@ -3755,9 +3743,7 @@ ebiptablesDriverProbeStateMatch(void) if (version >= 1 * 1000000 + 4 * 1000 + 16) newMatchState = true; - ret = 0; - cleanup: - return ret; + return 0; } static int diff --git a/src/util/virebtables.c b/src/util/virebtables.c index 69483f35ec..610c399414 100644 --- a/src/util/virebtables.c +++ b/src/util/virebtables.c @@ -83,7 +83,6 @@ int ebtablesAddForwardPolicyReject(ebtablesContext *ctx) { g_autoptr(virFirewall) fw = virFirewallNew(); - int ret = -1; virFirewallStartTransaction(fw, VIR_FIREWALL_TRANSACTION_IGNORE_ERRORS); virFirewallAddRule(fw, VIR_FIREWALL_LAYER_ETHERNET, @@ -98,12 +97,7 @@ ebtablesAddForwardPolicyReject(ebtablesContext *ctx) "-P", ctx->chain, "DROP", NULL); - if (virFirewallApply(fw) < 0) - goto cleanup; - - ret = 0; - cleanup: - return ret; + return virFirewallApply(fw); } @@ -117,7 +111,6 @@ ebtablesForwardAllowIn(ebtablesContext *ctx, int action) { g_autoptr(virFirewall) fw = virFirewallNew(); - int ret = -1; virFirewallStartTransaction(fw, 0); virFirewallAddRule(fw, VIR_FIREWALL_LAYER_ETHERNET, @@ -128,12 +121,7 @@ ebtablesForwardAllowIn(ebtablesContext *ctx, "--jump", "ACCEPT", NULL); - if (virFirewallApply(fw) < 0) - goto cleanup; - - ret = 0; - cleanup: - return ret; + return virFirewallApply(fw); } /** diff --git a/src/util/viriptables.c b/src/util/viriptables.c index b1ef3a2db6..b5dd2edbd3 100644 --- a/src/util/viriptables.c +++ b/src/util/viriptables.c @@ -129,7 +129,6 @@ int iptablesSetupPrivateChains(virFirewallLayer layer) { g_autoptr(virFirewall) fw = virFirewallNew(); - int ret = -1; iptablesGlobalChain filter_chains[] = { {"INPUT", "LIBVIRT_INP"}, {"OUTPUT", "LIBVIRT_OUT"}, @@ -160,12 +159,9 @@ iptablesSetupPrivateChains(virFirewallLayer layer) "--list-rules", NULL); if (virFirewallApply(fw) < 0) - goto cleanup; - - ret = changed ? 1 : 0; + return -1; - cleanup: - return ret; + return changed ? 1 : 0; } -- 2.25.4

On a Sunday in 2020, Laine Stump wrote:
after making all virFirewall objects use g_autoptr().
Signed-off-by: Laine Stump <laine@redhat.com> --- src/network/bridge_driver_linux.c | 27 +++++++------------ src/nwfilter/nwfilter_ebiptables_driver.c | 32 +++++++---------------- src/util/virebtables.c | 16 ++---------- src/util/viriptables.c | 8 ++---- 4 files changed, 22 insertions(+), 61 deletions(-)
[...]
diff --git a/src/util/virebtables.c b/src/util/virebtables.c index 69483f35ec..610c399414 100644 --- a/src/util/virebtables.c +++ b/src/util/virebtables.c
[...]
@@ -128,12 +121,7 @@ ebtablesForwardAllowIn(ebtablesContext *ctx, "--jump", "ACCEPT", NULL);
- if (virFirewallApply(fw) < 0) - goto cleanup; - - ret = 0; - cleanup: - return ret; + return virFirewallApply(fw);
Double space.
}
/**
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano
participants (2)
-
Ján Tomko
-
Laine Stump