[libvirt PATCH 0/8] Use g_auto for virCaps and LXCDriverConfig (glib chronicles)

Pipeline in progress: https://gitlab.com/janotomko/libvirt/-/pipelines/427100328 Ján Tomko (8): lxc: fix error value of lxcNodeGetSecurityModel Use g_auto for freeing virCaps Use g_auto for stealing virCaps lxc: define cleanup function for virLXCDriverConfig lxc: use g_auto for virLXCDriverGetConfig lxc: remove cleanup from lxcNodeGetSecurityModel bhyve: bhyveConnectCompareCPU: remove cleanup label Remove empty cleanup sections src/bhyve/bhyve_driver.c | 46 ++++++---------- src/ch/ch_conf.c | 14 ++--- src/ch/ch_driver.c | 3 +- src/hyperv/hyperv_driver.c | 10 ++-- src/libxl/libxl_capabilities.c | 14 ++--- src/libxl/libxl_conf.c | 11 ++-- src/libxl/xen_common.c | 8 +-- src/libxl/xen_xl.c | 32 ++++------- src/lxc/lxc_conf.c | 18 +++---- src/lxc/lxc_conf.h | 2 + src/lxc/lxc_container.c | 12 ++--- src/lxc/lxc_driver.c | 97 ++++++++++++---------------------- src/lxc/lxc_native.c | 41 +++++--------- src/lxc/lxc_process.c | 44 +++++---------- src/test/test_driver.c | 14 ++--- src/util/vircgroup.c | 12 ++--- src/util/virfirmware.c | 18 +++---- src/vmware/vmware_conf.c | 5 +- src/vz/vz_driver.c | 20 +++---- tests/qemucaps2xmltest.c | 14 ++--- tests/testutilsxen.c | 5 +- tests/vboxsnapshotxmltest.c | 8 +-- tests/virconftest.c | 24 ++++----- tests/virfiletest.c | 14 ++--- tests/virstringtest.c | 16 +++--- 25 files changed, 174 insertions(+), 328 deletions(-) -- 2.31.1

When adding the ACL check and caps getter, we assumed that the default return value is -1, not 0 as usual. Fix the return value on error by assigning them explicitly. Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/lxc/lxc_driver.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index 349783ca7c..d86147cc28 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -1234,11 +1234,15 @@ static int lxcNodeGetSecurityModel(virConnectPtr conn, memset(secmodel, 0, sizeof(*secmodel)); - if (virNodeGetSecurityModelEnsureACL(conn) < 0) + if (virNodeGetSecurityModelEnsureACL(conn) < 0) { + ret = -1; goto cleanup; + } - if (!(caps = virLXCDriverGetCapabilities(driver, false))) + if (!(caps = virLXCDriverGetCapabilities(driver, false))) { + ret = -1; goto cleanup; + } /* we treat no driver as success, but simply return no data in *secmodel */ if (caps->host.nsecModels == 0 -- 2.31.1

On 12/10/21 17:06, Ján Tomko wrote:
When adding the ACL check and caps getter, we assumed that the default return value is -1, not 0 as usual.
Fix the return value on error by assigning them explicitly.
Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/lxc/lxc_driver.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index 349783ca7c..d86147cc28 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -1234,11 +1234,15 @@ static int lxcNodeGetSecurityModel(virConnectPtr conn,
memset(secmodel, 0, sizeof(*secmodel));
- if (virNodeGetSecurityModelEnsureACL(conn) < 0) + if (virNodeGetSecurityModelEnsureACL(conn) < 0) { + ret = -1; goto cleanup; + }
- if (!(caps = virLXCDriverGetCapabilities(driver, false))) + if (!(caps = virLXCDriverGetCapabilities(driver, false))) { + ret = -1; goto cleanup; + }
/* we treat no driver as success, but simply return no data in *secmodel */ if (caps->host.nsecModels == 0
Why not initialize ret = -1 and then rewrite it to 0 just above cleanup label? That's more used pattern than this. looking into the future, it doesn't matter that much though. Michal

Convert all the users who unref their virCaps object unconditionally. Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/bhyve/bhyve_driver.c | 9 +++------ src/ch/ch_driver.c | 3 +-- src/lxc/lxc_driver.c | 21 +++++++-------------- src/lxc/lxc_process.c | 3 +-- 4 files changed, 12 insertions(+), 24 deletions(-) diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c index 250e10b9d0..e445c8cadf 100644 --- a/src/bhyve/bhyve_driver.c +++ b/src/bhyve/bhyve_driver.c @@ -140,7 +140,7 @@ static char * bhyveConnectGetCapabilities(virConnectPtr conn) { struct _bhyveConn *privconn = conn->privateData; - virCaps *caps; + g_autoptr(virCaps) caps = NULL; char *xml = NULL; if (virConnectGetCapabilitiesEnsureACL(conn) < 0) @@ -156,7 +156,6 @@ bhyveConnectGetCapabilities(virConnectPtr conn) goto cleanup; cleanup: - virObjectUnref(caps); return xml; } @@ -508,7 +507,7 @@ bhyveDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flag g_autoptr(virDomainDef) oldDef = NULL; virDomainObj *vm = NULL; virObjectEvent *event = NULL; - virCaps *caps = NULL; + g_autoptr(virCaps) caps = NULL; unsigned int parse_flags = VIR_DOMAIN_DEF_PARSE_INACTIVE; virCheckFlags(VIR_DOMAIN_DEFINE_VALIDATE, NULL); @@ -554,7 +553,6 @@ bhyveDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flag dom = virGetDomain(conn, vm->def->name, vm->def->uuid, vm->def->id); cleanup: - virObjectUnref(caps); virDomainObjEndAPI(&vm); virObjectEventStateQueue(privconn->domainEventState, event); @@ -1434,7 +1432,7 @@ bhyveConnectCompareCPU(virConnectPtr conn, { struct _bhyveConn *driver = conn->privateData; int ret = VIR_CPU_COMPARE_ERROR; - virCaps *caps = NULL; + g_autoptr(virCaps) caps = NULL; bool failIncompatible; bool validateXML; @@ -1466,7 +1464,6 @@ bhyveConnectCompareCPU(virConnectPtr conn, } cleanup: - virObjectUnref(caps); return ret; } diff --git a/src/ch/ch_driver.c b/src/ch/ch_driver.c index 108644e503..06cfb1c5ef 100644 --- a/src/ch/ch_driver.c +++ b/src/ch/ch_driver.c @@ -187,7 +187,7 @@ static int chNodeGetInfo(virConnectPtr conn, static char *chConnectGetCapabilities(virConnectPtr conn) { virCHDriver *driver = conn->privateData; - virCaps *caps; + g_autoptr(virCaps) caps = NULL; char *xml; if (virConnectGetCapabilitiesEnsureACL(conn) < 0) @@ -198,7 +198,6 @@ static char *chConnectGetCapabilities(virConnectPtr conn) xml = virCapabilitiesFormatXML(caps); - virObjectUnref(caps); return xml; } diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index d86147cc28..92ae22ef2b 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -197,7 +197,7 @@ static int lxcConnectIsAlive(virConnectPtr conn G_GNUC_UNUSED) static char *lxcConnectGetCapabilities(virConnectPtr conn) { virLXCDriver *driver = conn->privateData; - virCaps *caps; + g_autoptr(virCaps) caps = NULL; char *xml; if (virConnectGetCapabilitiesEnsureACL(conn) < 0) @@ -208,7 +208,6 @@ static char *lxcConnectGetCapabilities(virConnectPtr conn) { xml = virCapabilitiesFormatXML(caps); - virObjectUnref(caps); return xml; } @@ -405,7 +404,7 @@ lxcDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags) virObjectEvent *event = NULL; g_autoptr(virDomainDef) oldDef = NULL; virLXCDriverConfig *cfg = virLXCDriverGetConfig(driver); - virCaps *caps = NULL; + g_autoptr(virCaps) caps = NULL; unsigned int parse_flags = VIR_DOMAIN_DEF_PARSE_INACTIVE; virCheckFlags(VIR_DOMAIN_DEFINE_VALIDATE, NULL); @@ -459,7 +458,6 @@ lxcDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags) cleanup: virDomainObjEndAPI(&vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(caps); virObjectUnref(cfg); return dom; } @@ -937,7 +935,7 @@ static char *lxcConnectDomainXMLFromNative(virConnectPtr conn, char *xml = NULL; g_autoptr(virDomainDef) def = NULL; virLXCDriver *driver = conn->privateData; - virCaps *caps = virLXCDriverGetCapabilities(driver, false); + g_autoptr(virCaps) caps = virLXCDriverGetCapabilities(driver, false); virCheckFlags(0, NULL); @@ -956,7 +954,6 @@ static char *lxcConnectDomainXMLFromNative(virConnectPtr conn, xml = virDomainDefFormat(def, driver->xmlopt, 0); cleanup: - virObjectUnref(caps); return xml; } @@ -1082,7 +1079,7 @@ lxcDomainCreateXMLWithFiles(virConnectPtr conn, virDomainPtr dom = NULL; virObjectEvent *event = NULL; virLXCDriverConfig *cfg = virLXCDriverGetConfig(driver); - virCaps *caps = NULL; + g_autoptr(virCaps) caps = NULL; unsigned int parse_flags = VIR_DOMAIN_DEF_PARSE_INACTIVE; virCheckFlags(VIR_DOMAIN_START_AUTODESTROY | @@ -1150,7 +1147,6 @@ lxcDomainCreateXMLWithFiles(virConnectPtr conn, cleanup: virDomainObjEndAPI(&vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(caps); virObjectUnref(cfg); virNWFilterUnlockFilterUpdates(); return dom; @@ -1229,7 +1225,7 @@ static int lxcNodeGetSecurityModel(virConnectPtr conn, virSecurityModelPtr secmodel) { virLXCDriver *driver = conn->privateData; - virCaps *caps = NULL; + g_autoptr(virCaps) caps = NULL; int ret = 0; memset(secmodel, 0, sizeof(*secmodel)); @@ -1268,7 +1264,6 @@ static int lxcNodeGetSecurityModel(virConnectPtr conn, } cleanup: - virObjectUnref(caps); return ret; } @@ -1807,7 +1802,7 @@ lxcDomainSetSchedulerParametersFlags(virDomainPtr dom, unsigned int flags) { virLXCDriver *driver = dom->conn->privateData; - virCaps *caps = NULL; + g_autoptr(virCaps) caps = NULL; size_t i; virDomainObj *vm = NULL; virDomainDef *def = NULL; @@ -1925,7 +1920,6 @@ lxcDomainSetSchedulerParametersFlags(virDomainPtr dom, cleanup: virDomainObjEndAPI(&vm); - virObjectUnref(caps); virObjectUnref(cfg); return ret; } @@ -4456,7 +4450,7 @@ static int lxcDomainDetachDeviceFlags(virDomainPtr dom, unsigned int flags) { virLXCDriver *driver = dom->conn->privateData; - virCaps *caps = NULL; + g_autoptr(virCaps) caps = NULL; virDomainObj *vm = NULL; g_autoptr(virDomainDef) vmdef = NULL; virDomainDeviceDef *dev = NULL; @@ -4540,7 +4534,6 @@ static int lxcDomainDetachDeviceFlags(virDomainPtr dom, virDomainDeviceDefFree(dev_copy); virDomainDeviceDefFree(dev); virDomainObjEndAPI(&vm); - virObjectUnref(caps); virObjectUnref(cfg); return ret; } diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c index d262128a50..501f418557 100644 --- a/src/lxc/lxc_process.c +++ b/src/lxc/lxc_process.c @@ -1207,7 +1207,7 @@ int virLXCProcessStart(virConnectPtr conn, int nsInheritFDs[VIR_LXC_DOMAIN_NAMESPACE_LAST]; virCommand *cmd = NULL; virLXCDomainObjPrivate *priv = vm->privateData; - virCaps *caps = NULL; + g_autoptr(virCaps) caps = NULL; virErrorPtr err = NULL; virLXCDriverConfig *cfg = virLXCDriverGetConfig(driver); g_autoptr(virCgroup) selfcgroup = NULL; @@ -1579,7 +1579,6 @@ int virLXCProcessStart(virConnectPtr conn, for (i = 0; i < G_N_ELEMENTS(handshakefds); i++) VIR_FORCE_CLOSE(handshakefds[i]); virObjectUnref(cfg); - virObjectUnref(caps); virErrorRestore(&err); -- 2.31.1

Convert all the functions that generate virCaps to use g_auto and g_steal_pointer. Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/ch/ch_conf.c | 5 ++--- src/hyperv/hyperv_driver.c | 5 ++--- src/libxl/libxl_capabilities.c | 5 ++--- src/lxc/lxc_conf.c | 5 ++--- src/test/test_driver.c | 5 ++--- src/vmware/vmware_conf.c | 5 ++--- src/vz/vz_driver.c | 5 ++--- tests/qemucaps2xmltest.c | 5 ++--- tests/testutilsxen.c | 5 ++--- 9 files changed, 18 insertions(+), 27 deletions(-) diff --git a/src/ch/ch_conf.c b/src/ch/ch_conf.c index ef6f4b5ba8..a9cbbca560 100644 --- a/src/ch/ch_conf.c +++ b/src/ch/ch_conf.c @@ -52,7 +52,7 @@ VIR_ONCE_GLOBAL_INIT(virCHConfig); /* Functions */ virCaps *virCHDriverCapsInit(void) { - virCaps *caps; + g_autoptr(virCaps) caps = NULL; virCapsGuest *guest; if ((caps = virCapabilitiesNew(virArchFromHost(), @@ -70,10 +70,9 @@ virCaps *virCHDriverCapsInit(void) virCapabilitiesAddGuestDomain(guest, VIR_DOMAIN_VIRT_KVM, NULL, NULL, 0, NULL); - return caps; + return g_steal_pointer(&caps); cleanup: - virObjectUnref(caps); return NULL; } diff --git a/src/hyperv/hyperv_driver.c b/src/hyperv/hyperv_driver.c index bafec27a88..4d938f4d7f 100644 --- a/src/hyperv/hyperv_driver.c +++ b/src/hyperv/hyperv_driver.c @@ -262,7 +262,7 @@ hypervLookupHostSystemBiosUuid(hypervPrivate *priv, unsigned char *uuid) static virCaps * hypervCapsInit(hypervPrivate *priv) { - virCaps *caps = NULL; + g_autoptr(virCaps) caps = NULL; virCapsGuest *guest = NULL; caps = virCapabilitiesNew(VIR_ARCH_X86_64, 1, 1); @@ -287,10 +287,9 @@ hypervCapsInit(hypervPrivate *priv) virCapabilitiesAddGuestDomain(guest, VIR_DOMAIN_VIRT_HYPERV, NULL, NULL, 0, NULL); - return caps; + return g_steal_pointer(&caps); error: - virObjectUnref(caps); return NULL; } diff --git a/src/libxl/libxl_capabilities.c b/src/libxl/libxl_capabilities.c index 6263b5c8b5..9084dacb40 100644 --- a/src/libxl/libxl_capabilities.c +++ b/src/libxl/libxl_capabilities.c @@ -635,7 +635,7 @@ libxlMakeDomainDeviceHostdevCaps(virDomainCapsDeviceHostdev *dev) virCaps * libxlMakeCapabilities(libxl_ctx *ctx) { - virCaps *caps; + g_autoptr(virCaps) caps = NULL; #ifdef LIBXL_HAVE_NO_SUSPEND_RESUME if ((caps = virCapabilitiesNew(virArchFromHost(), false, false)) == NULL) @@ -653,10 +653,9 @@ libxlMakeCapabilities(libxl_ctx *ctx) if (libxlCapsInitGuests(ctx, caps) < 0) goto error; - return caps; + return g_steal_pointer(&caps); error: - virObjectUnref(caps); return NULL; } diff --git a/src/lxc/lxc_conf.c b/src/lxc/lxc_conf.c index 73156f15a3..e9186b879e 100644 --- a/src/lxc/lxc_conf.c +++ b/src/lxc/lxc_conf.c @@ -58,7 +58,7 @@ VIR_ONCE_GLOBAL_INIT(virLXCConfig); /* Functions */ virCaps *virLXCDriverCapsInit(virLXCDriver *driver) { - virCaps *caps; + g_autoptr(virCaps) caps = NULL; virCapsGuest *guest; virArch altArch; g_autofree char *lxc_path = NULL; @@ -138,10 +138,9 @@ virCaps *virLXCDriverCapsInit(virLXCDriver *driver) VIR_INFO("No driver, not initializing security driver"); } - return caps; + return g_steal_pointer(&caps); error: - virObjectUnref(caps); return NULL; } diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 995e63b004..020a9e5df0 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -291,7 +291,7 @@ static virCaps * testBuildCapabilities(virConnectPtr conn) { testDriver *privconn = conn->privateData; - virCaps *caps; + g_autoptr(virCaps) caps = NULL; virCapsGuest *guest; int guest_types[] = { VIR_DOMAIN_OSTYPE_HVM, VIR_DOMAIN_OSTYPE_XEN }; @@ -361,10 +361,9 @@ testBuildCapabilities(virConnectPtr conn) caps->host.secModels[0].doi = g_strdup(""); - return caps; + return g_steal_pointer(&caps); error: - virObjectUnref(caps); return NULL; } diff --git a/src/vmware/vmware_conf.c b/src/vmware/vmware_conf.c index 8c8ecc8120..3f6b51ac44 100644 --- a/src/vmware/vmware_conf.c +++ b/src/vmware/vmware_conf.c @@ -64,7 +64,7 @@ vmwareFreeDriver(struct vmware_driver *driver) virCaps * vmwareCapsInit(void) { - virCaps *caps = NULL; + g_autoptr(virCaps) caps = NULL; virCapsGuest *guest = NULL; if ((caps = virCapabilitiesNew(virArchFromHost(), @@ -106,11 +106,10 @@ vmwareCapsInit(void) guest = NULL; } - return caps; + return g_steal_pointer(&caps); error: virCapabilitiesFreeGuest(guest); - virObjectUnref(caps); return NULL; } diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c index 83ff119dd9..1353efa6ab 100644 --- a/src/vz/vz_driver.c +++ b/src/vz/vz_driver.c @@ -94,7 +94,7 @@ vzCapsAddGuestDomain(virCaps *caps, static virCaps * vzBuildCapabilities(void) { - virCaps *caps = NULL; + g_autoptr(virCaps) caps = NULL; virNodeInfo nodeinfo; virDomainOSType ostypes[] = { VIR_DOMAIN_OSTYPE_HVM, @@ -137,10 +137,9 @@ vzBuildCapabilities(void) if (virCapabilitiesAddHostMigrateTransport(caps, "vzmigr") < 0) goto error; - return caps; + return g_steal_pointer(&caps); error: - virObjectUnref(caps); return NULL; } diff --git a/tests/qemucaps2xmltest.c b/tests/qemucaps2xmltest.c index 78a2148e1a..aec4647678 100644 --- a/tests/qemucaps2xmltest.c +++ b/tests/qemucaps2xmltest.c @@ -86,7 +86,7 @@ static virCaps * testGetCaps(char *capsData, const testQemuData *data) { g_autoptr(virQEMUCaps) qemuCaps = NULL; - virCaps *caps = NULL; + g_autoptr(virCaps) caps = NULL; virArch arch = virArchFromString(data->archName); g_autofree char *binary = NULL; @@ -110,10 +110,9 @@ testGetCaps(char *capsData, const testQemuData *data) goto error; } - return caps; + return g_steal_pointer(&caps); error: - virObjectUnref(caps); return NULL; } diff --git a/tests/testutilsxen.c b/tests/testutilsxen.c index 1b584e34b1..821ee49d94 100644 --- a/tests/testutilsxen.c +++ b/tests/testutilsxen.c @@ -11,7 +11,7 @@ static virCaps * testXLInitCaps(void) { - virCaps *caps; + g_autoptr(virCaps) caps = NULL; virCapsGuest *guest; virCapsGuestMachine **machines; int nmachines; @@ -68,11 +68,10 @@ testXLInitCaps(void) virCapabilitiesAddGuestDomain(guest, VIR_DOMAIN_VIRT_XEN, NULL, NULL, 0, NULL); - return caps; + return g_steal_pointer(&caps); cleanup: virCapabilitiesFreeMachines(machines, nmachines); - virObjectUnref(caps); return NULL; } -- 2.31.1

Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/lxc/lxc_conf.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lxc/lxc_conf.h b/src/lxc/lxc_conf.h index 8993013ea4..5a1351bd63 100644 --- a/src/lxc/lxc_conf.h +++ b/src/lxc/lxc_conf.h @@ -102,6 +102,8 @@ struct _virLXCDriver { virCloseCallbacks *closeCallbacks; }; +G_DEFINE_AUTOPTR_CLEANUP_FUNC(virLXCDriverConfig, virObjectUnref); + virLXCDriverConfig *virLXCDriverConfigNew(void); virLXCDriverConfig *virLXCDriverGetConfig(virLXCDriver *driver); int virLXCLoadDriverConfig(virLXCDriverConfig *cfg, -- 2.31.1

Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/lxc/lxc_driver.c | 48 +++++++++++++++---------------------------- src/lxc/lxc_process.c | 22 +++++++------------- 2 files changed, 23 insertions(+), 47 deletions(-) diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index 92ae22ef2b..0d438de4a5 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -403,7 +403,7 @@ lxcDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags) virDomainPtr dom = NULL; virObjectEvent *event = NULL; g_autoptr(virDomainDef) oldDef = NULL; - virLXCDriverConfig *cfg = virLXCDriverGetConfig(driver); + g_autoptr(virLXCDriverConfig) cfg = virLXCDriverGetConfig(driver); g_autoptr(virCaps) caps = NULL; unsigned int parse_flags = VIR_DOMAIN_DEF_PARSE_INACTIVE; @@ -458,7 +458,6 @@ lxcDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags) cleanup: virDomainObjEndAPI(&vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return dom; } @@ -475,7 +474,7 @@ static int lxcDomainUndefineFlags(virDomainPtr dom, virDomainObj *vm; virObjectEvent *event = NULL; int ret = -1; - virLXCDriverConfig *cfg = virLXCDriverGetConfig(driver); + g_autoptr(virLXCDriverConfig) cfg = virLXCDriverGetConfig(driver); virCheckFlags(0, -1); @@ -510,7 +509,6 @@ static int lxcDomainUndefineFlags(virDomainPtr dom, cleanup: virDomainObjEndAPI(&vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return ret; } @@ -638,7 +636,7 @@ static int lxcDomainSetMemoryFlags(virDomainPtr dom, unsigned long newmem, int ret = -1; virLXCDomainObjPrivate *priv; virLXCDriver *driver = dom->conn->privateData; - virLXCDriverConfig *cfg = NULL; + g_autoptr(virLXCDriverConfig) cfg = NULL; virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_AFFECT_CONFIG | @@ -719,7 +717,6 @@ static int lxcDomainSetMemoryFlags(virDomainPtr dom, unsigned long newmem, cleanup: virDomainObjEndAPI(&vm); - virObjectUnref(cfg); return ret; } @@ -743,7 +740,7 @@ lxcDomainSetMemoryParameters(virDomainPtr dom, virDomainDef *persistentDef = NULL; virDomainObj *vm = NULL; virLXCDomainObjPrivate *priv = NULL; - virLXCDriverConfig *cfg = NULL; + g_autoptr(virLXCDriverConfig) cfg = NULL; virLXCDriver *driver = dom->conn->privateData; int ret = -1; @@ -804,7 +801,6 @@ lxcDomainSetMemoryParameters(virDomainPtr dom, cleanup: virDomainObjEndAPI(&vm); - virObjectUnref(cfg); return ret; } @@ -975,7 +971,7 @@ static int lxcDomainCreateWithFiles(virDomainPtr dom, virDomainObj *vm; virObjectEvent *event = NULL; int ret = -1; - virLXCDriverConfig *cfg = virLXCDriverGetConfig(driver); + g_autoptr(virLXCDriverConfig) cfg = virLXCDriverGetConfig(driver); virCheckFlags(VIR_DOMAIN_START_AUTODESTROY, -1); @@ -1022,7 +1018,6 @@ static int lxcDomainCreateWithFiles(virDomainPtr dom, cleanup: virDomainObjEndAPI(&vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); virNWFilterUnlockFilterUpdates(); return ret; } @@ -1078,7 +1073,7 @@ lxcDomainCreateXMLWithFiles(virConnectPtr conn, g_autoptr(virDomainDef) def = NULL; virDomainPtr dom = NULL; virObjectEvent *event = NULL; - virLXCDriverConfig *cfg = virLXCDriverGetConfig(driver); + g_autoptr(virLXCDriverConfig) cfg = virLXCDriverGetConfig(driver); g_autoptr(virCaps) caps = NULL; unsigned int parse_flags = VIR_DOMAIN_DEF_PARSE_INACTIVE; @@ -1147,7 +1142,6 @@ lxcDomainCreateXMLWithFiles(virConnectPtr conn, cleanup: virDomainObjEndAPI(&vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); virNWFilterUnlockFilterUpdates(); return dom; } @@ -1592,7 +1586,7 @@ static void lxcNotifyLoadDomain(virDomainObj *vm, int newVM, void *opaque) static int lxcStateReload(void) { - virLXCDriverConfig *cfg = NULL; + g_autoptr(virLXCDriverConfig) cfg = NULL; if (!lxc_driver) return 0; @@ -1604,7 +1598,6 @@ lxcStateReload(void) cfg->autostartDir, false, lxc_driver->xmlopt, lxcNotifyLoadDomain, lxc_driver); - virObjectUnref(cfg); return 0; } @@ -1811,7 +1804,7 @@ lxcDomainSetSchedulerParametersFlags(virDomainPtr dom, int ret = -1; int rc; virLXCDomainObjPrivate *priv; - virLXCDriverConfig *cfg = virLXCDriverGetConfig(driver); + g_autoptr(virLXCDriverConfig) cfg = virLXCDriverGetConfig(driver); virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_AFFECT_CONFIG, -1); @@ -1920,7 +1913,6 @@ lxcDomainSetSchedulerParametersFlags(virDomainPtr dom, cleanup: virDomainObjEndAPI(&vm); - virObjectUnref(cfg); return ret; } @@ -2245,7 +2237,7 @@ lxcDomainSetBlkioParameters(virDomainPtr dom, virDomainDef *def = NULL; virDomainDef *persistentDef = NULL; int ret = -1; - virLXCDriverConfig *cfg = NULL; + g_autoptr(virLXCDriverConfig) cfg = NULL; virLXCDomainObjPrivate *priv; virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | @@ -2310,7 +2302,6 @@ lxcDomainSetBlkioParameters(virDomainPtr dom, cleanup: virDomainObjEndAPI(&vm); - virObjectUnref(cfg); return ret; } @@ -2470,7 +2461,7 @@ static int lxcDomainSetAutostart(virDomainPtr dom, g_autofree char *configFile = NULL; g_autofree char *autostartLink = NULL; int ret = -1; - virLXCDriverConfig *cfg = virLXCDriverGetConfig(driver); + g_autoptr(virLXCDriverConfig) cfg = virLXCDriverGetConfig(driver); if (!(vm = lxcDomObjFromDomain(dom))) goto cleanup; @@ -2534,7 +2525,6 @@ static int lxcDomainSetAutostart(virDomainPtr dom, cleanup: virDomainObjEndAPI(&vm); - virObjectUnref(cfg); return ret; } @@ -2622,7 +2612,7 @@ static int lxcDomainSuspend(virDomainPtr dom) virDomainObj *vm; virObjectEvent *event = NULL; int ret = -1; - virLXCDriverConfig *cfg = virLXCDriverGetConfig(driver); + g_autoptr(virLXCDriverConfig) cfg = virLXCDriverGetConfig(driver); if (!(vm = lxcDomObjFromDomain(dom))) goto cleanup; @@ -2659,7 +2649,6 @@ static int lxcDomainSuspend(virDomainPtr dom) cleanup: virObjectEventStateQueue(driver->domainEventState, event); virDomainObjEndAPI(&vm); - virObjectUnref(cfg); return ret; } @@ -2671,7 +2660,7 @@ static int lxcDomainResume(virDomainPtr dom) int ret = -1; int state; virLXCDomainObjPrivate *priv; - virLXCDriverConfig *cfg = virLXCDriverGetConfig(driver); + g_autoptr(virLXCDriverConfig) cfg = virLXCDriverGetConfig(driver); if (!(vm = lxcDomObjFromDomain(dom))) goto cleanup; @@ -2716,7 +2705,6 @@ static int lxcDomainResume(virDomainPtr dom) cleanup: virObjectEventStateQueue(driver->domainEventState, event); virDomainObjEndAPI(&vm); - virObjectUnref(cfg); return ret; } @@ -4286,7 +4274,7 @@ static int lxcDomainAttachDeviceFlags(virDomainPtr dom, virDomainDeviceDef *dev = NULL; virDomainDeviceDef *dev_copy = NULL; int ret = -1; - virLXCDriverConfig *cfg = virLXCDriverGetConfig(driver); + g_autoptr(virLXCDriverConfig) cfg = virLXCDriverGetConfig(driver); virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_AFFECT_CONFIG, -1); @@ -4370,7 +4358,6 @@ static int lxcDomainAttachDeviceFlags(virDomainPtr dom, virDomainDeviceDefFree(dev_copy); virDomainDeviceDefFree(dev); virDomainObjEndAPI(&vm); - virObjectUnref(cfg); return ret; } @@ -4392,7 +4379,7 @@ static int lxcDomainUpdateDeviceFlags(virDomainPtr dom, g_autoptr(virDomainDef) vmdef = NULL; virDomainDeviceDef *dev = NULL; int ret = -1; - virLXCDriverConfig *cfg = virLXCDriverGetConfig(driver); + g_autoptr(virLXCDriverConfig) cfg = virLXCDriverGetConfig(driver); virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_AFFECT_CONFIG, -1); @@ -4440,7 +4427,6 @@ static int lxcDomainUpdateDeviceFlags(virDomainPtr dom, cleanup: virDomainDeviceDefFree(dev); virDomainObjEndAPI(&vm); - virObjectUnref(cfg); return ret; } @@ -4456,7 +4442,7 @@ static int lxcDomainDetachDeviceFlags(virDomainPtr dom, virDomainDeviceDef *dev = NULL; virDomainDeviceDef *dev_copy = NULL; int ret = -1; - virLXCDriverConfig *cfg = virLXCDriverGetConfig(driver); + g_autoptr(virLXCDriverConfig) cfg = virLXCDriverGetConfig(driver); virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_AFFECT_CONFIG, -1); @@ -4534,7 +4520,6 @@ static int lxcDomainDetachDeviceFlags(virDomainPtr dom, virDomainDeviceDefFree(dev_copy); virDomainDeviceDefFree(dev); virDomainObjEndAPI(&vm); - virObjectUnref(cfg); return ret; } @@ -4807,7 +4792,7 @@ lxcDomainSetMetadata(virDomainPtr dom, { virLXCDriver *driver = dom->conn->privateData; virDomainObj *vm; - virLXCDriverConfig *cfg = NULL; + g_autoptr(virLXCDriverConfig) cfg = NULL; int ret = -1; virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | @@ -4838,7 +4823,6 @@ lxcDomainSetMetadata(virDomainPtr dom, cleanup: virDomainObjEndAPI(&vm); - virObjectUnref(cfg); return ret; } diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c index 501f418557..9cae025517 100644 --- a/src/lxc/lxc_process.c +++ b/src/lxc/lxc_process.c @@ -170,7 +170,7 @@ static void virLXCProcessCleanup(virLXCDriver *driver, size_t i; virLXCDomainObjPrivate *priv = vm->privateData; const virNetDevVPortProfile *vport = NULL; - virLXCDriverConfig *cfg = virLXCDriverGetConfig(driver); + g_autoptr(virLXCDriverConfig) cfg = virLXCDriverGetConfig(driver); g_autoptr(virConnect) conn = NULL; VIR_DEBUG("Cleanup VM name=%s pid=%d reason=%d flags=0x%x", @@ -278,8 +278,6 @@ static void virLXCProcessCleanup(virLXCDriver *driver, if (flags & VIR_LXC_PROCESS_CLEANUP_REMOVE_TRANSIENT) virDomainObjRemoveTransientDef(vm); - - virObjectUnref(cfg); } @@ -367,7 +365,7 @@ virLXCProcessSetupInterfaceDirect(virLXCDriver *driver, char *res_ifname = NULL; const virNetDevBandwidth *bw; const virNetDevVPortProfile *prof; - virLXCDriverConfig *cfg = virLXCDriverGetConfig(driver); + g_autoptr(virLXCDriverConfig) cfg = virLXCDriverGetConfig(driver); const char *linkdev = virDomainNetGetActualDirectDev(net); unsigned int macvlan_create_flags = VIR_NETDEV_MACVLAN_CREATE_IFUP; @@ -414,7 +412,6 @@ virLXCProcessSetupInterfaceDirect(virLXCDriver *driver, ret = res_ifname; cleanup: - virObjectUnref(cfg); return ret; } @@ -801,7 +798,7 @@ static void virLXCProcessMonitorInitNotify(virLXCMonitor *mon G_GNUC_UNUSED, { virLXCDriver *driver = lxc_driver; virLXCDomainObjPrivate *priv; - virLXCDriverConfig *cfg = virLXCDriverGetConfig(driver); + g_autoptr(virLXCDriverConfig) cfg = virLXCDriverGetConfig(driver); ino_t inode = 0; virObjectLock(vm); @@ -821,7 +818,6 @@ static void virLXCProcessMonitorInitNotify(virLXCMonitor *mon G_GNUC_UNUSED, VIR_WARN("Cannot update XML with PID for LXC %s", vm->def->name); virObjectUnlock(vm); - virObjectUnref(cfg); } static virLXCMonitorCallbacks monitorCallbacks = { @@ -835,7 +831,7 @@ static virLXCMonitor *virLXCProcessConnectMonitor(virLXCDriver *driver, virDomainObj *vm) { virLXCMonitor *monitor = NULL; - virLXCDriverConfig *cfg = virLXCDriverGetConfig(driver); + g_autoptr(virLXCDriverConfig) cfg = virLXCDriverGetConfig(driver); if (virSecurityManagerSetSocketLabel(driver->securityManager, vm->def) < 0) goto cleanup; @@ -859,7 +855,6 @@ static virLXCMonitor *virLXCProcessConnectMonitor(virLXCDriver *driver, } cleanup: - virObjectUnref(cfg); return monitor; } @@ -948,7 +943,7 @@ virLXCProcessBuildControllerCmd(virLXCDriver *driver, g_autofree char *filterstr = NULL; g_autofree char *outputstr = NULL; virCommand *cmd; - virLXCDriverConfig *cfg = virLXCDriverGetConfig(driver); + g_autoptr(virLXCDriverConfig) cfg = virLXCDriverGetConfig(driver); cmd = virCommandNew(vm->def->emulator); @@ -1020,7 +1015,6 @@ virLXCProcessBuildControllerCmd(virLXCDriver *driver, virCommandRequireHandshake(cmd); cleanup: - virObjectUnref(cfg); return cmd; error: virCommandFree(cmd); @@ -1209,7 +1203,7 @@ int virLXCProcessStart(virConnectPtr conn, virLXCDomainObjPrivate *priv = vm->privateData; g_autoptr(virCaps) caps = NULL; virErrorPtr err = NULL; - virLXCDriverConfig *cfg = virLXCDriverGetConfig(driver); + g_autoptr(virLXCDriverConfig) cfg = virLXCDriverGetConfig(driver); g_autoptr(virCgroup) selfcgroup = NULL; int status; g_autofree char *pidfile = NULL; @@ -1578,7 +1572,6 @@ int virLXCProcessStart(virConnectPtr conn, VIR_FORCE_CLOSE(ttyFDs[i]); for (i = 0; i < G_N_ELEMENTS(handshakefds); i++) VIR_FORCE_CLOSE(handshakefds[i]); - virObjectUnref(cfg); virErrorRestore(&err); @@ -1689,7 +1682,7 @@ virLXCProcessReconnectDomain(virDomainObj *vm, { virLXCDriver *driver = opaque; virLXCDomainObjPrivate *priv; - virLXCDriverConfig *cfg = virLXCDriverGetConfig(driver); + g_autoptr(virLXCDriverConfig) cfg = virLXCDriverGetConfig(driver); int ret = -1; virObjectLock(vm); @@ -1752,7 +1745,6 @@ virLXCProcessReconnectDomain(virDomainObj *vm, ret = 0; cleanup: - virObjectUnref(cfg); virObjectUnlock(vm); return ret; -- 2.31.1

Return the values directly. Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/lxc/lxc_driver.c | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index 0d438de4a5..aa4bdd68ac 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -1220,32 +1220,26 @@ static int lxcNodeGetSecurityModel(virConnectPtr conn, { virLXCDriver *driver = conn->privateData; g_autoptr(virCaps) caps = NULL; - int ret = 0; memset(secmodel, 0, sizeof(*secmodel)); - if (virNodeGetSecurityModelEnsureACL(conn) < 0) { - ret = -1; - goto cleanup; - } + if (virNodeGetSecurityModelEnsureACL(conn) < 0) + return -1; - if (!(caps = virLXCDriverGetCapabilities(driver, false))) { - ret = -1; - goto cleanup; - } + if (!(caps = virLXCDriverGetCapabilities(driver, false))) + return -1; /* we treat no driver as success, but simply return no data in *secmodel */ if (caps->host.nsecModels == 0 || caps->host.secModels[0].model == NULL) - goto cleanup; + return 0; if (virStrcpy(secmodel->model, caps->host.secModels[0].model, VIR_SECURITY_MODEL_BUFLEN) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("security model string exceeds max %d bytes"), VIR_SECURITY_MODEL_BUFLEN - 1); - ret = -1; - goto cleanup; + return -1; } if (virStrcpy(secmodel->doi, caps->host.secModels[0].doi, @@ -1253,12 +1247,10 @@ static int lxcNodeGetSecurityModel(virConnectPtr conn, virReportError(VIR_ERR_INTERNAL_ERROR, _("security DOI string exceeds max %d bytes"), VIR_SECURITY_DOI_BUFLEN-1); - ret = -1; - goto cleanup; + return -1; } - cleanup: - return ret; + return 0; } -- 2.31.1

Return the desired values directly and clean up the redundant else branches. Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/bhyve/bhyve_driver.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c index e445c8cadf..cb1544665e 100644 --- a/src/bhyve/bhyve_driver.c +++ b/src/bhyve/bhyve_driver.c @@ -1431,7 +1431,6 @@ bhyveConnectCompareCPU(virConnectPtr conn, unsigned int flags) { struct _bhyveConn *driver = conn->privateData; - int ret = VIR_CPU_COMPARE_ERROR; g_autoptr(virCaps) caps = NULL; bool failIncompatible; bool validateXML; @@ -1441,30 +1440,27 @@ bhyveConnectCompareCPU(virConnectPtr conn, VIR_CPU_COMPARE_ERROR); if (virConnectCompareCPUEnsureACL(conn) < 0) - goto cleanup; + return VIR_CPU_COMPARE_ERROR; failIncompatible = !!(flags & VIR_CONNECT_COMPARE_CPU_FAIL_INCOMPATIBLE); validateXML = !!(flags & VIR_CONNECT_COMPARE_CPU_VALIDATE_XML); if (!(caps = bhyveDriverGetCapabilities(driver))) - goto cleanup; + return VIR_CPU_COMPARE_ERROR; if (!caps->host.cpu || !caps->host.cpu->model) { if (failIncompatible) { virReportError(VIR_ERR_CPU_INCOMPATIBLE, "%s", _("cannot get host CPU capabilities")); - } else { - VIR_WARN("cannot get host CPU capabilities"); - ret = VIR_CPU_COMPARE_INCOMPATIBLE; + return VIR_CPU_COMPARE_ERROR; } - } else { - ret = virCPUCompareXML(caps->host.arch, caps->host.cpu, - xmlDesc, failIncompatible, validateXML); + VIR_WARN("cannot get host CPU capabilities"); + return VIR_CPU_COMPARE_INCOMPATIBLE; } - cleanup: - return ret; + return virCPUCompareXML(caps->host.arch, caps->host.cpu, + xmlDesc, failIncompatible, validateXML); } static int -- 2.31.1

After recent cleanups, there are some pointless cleanup sections. Clean them up. Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/bhyve/bhyve_driver.c | 19 +++++----------- src/ch/ch_conf.c | 9 +++----- src/hyperv/hyperv_driver.c | 5 +---- src/libxl/libxl_capabilities.c | 9 +++----- src/libxl/libxl_conf.c | 11 +++------ src/libxl/xen_common.c | 8 ++----- src/libxl/xen_xl.c | 32 +++++++++----------------- src/lxc/lxc_conf.c | 13 +++++------ src/lxc/lxc_container.c | 12 ++++------ src/lxc/lxc_driver.c | 12 ++++------ src/lxc/lxc_native.c | 41 ++++++++++++---------------------- src/lxc/lxc_process.c | 19 +++++----------- src/test/test_driver.c | 9 +++----- src/util/vircgroup.c | 12 ++++------ src/util/virfirmware.c | 18 +++++---------- src/vz/vz_driver.c | 15 +++++-------- tests/qemucaps2xmltest.c | 9 +++----- tests/vboxsnapshotxmltest.c | 8 ++----- tests/virconftest.c | 24 +++++++++----------- tests/virfiletest.c | 14 +++++------- tests/virstringtest.c | 16 +++++-------- 21 files changed, 106 insertions(+), 209 deletions(-) diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c index cb1544665e..21407a3957 100644 --- a/src/bhyve/bhyve_driver.c +++ b/src/bhyve/bhyve_driver.c @@ -141,7 +141,6 @@ bhyveConnectGetCapabilities(virConnectPtr conn) { struct _bhyveConn *privconn = conn->privateData; g_autoptr(virCaps) caps = NULL; - char *xml = NULL; if (virConnectGetCapabilitiesEnsureACL(conn) < 0) return NULL; @@ -149,14 +148,10 @@ bhyveConnectGetCapabilities(virConnectPtr conn) if (!(caps = bhyveDriverGetCapabilities(privconn))) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Unable to get Capabilities")); - goto cleanup; + return NULL; } - if (!(xml = virCapabilitiesFormatXML(caps))) - goto cleanup; - - cleanup: - return xml; + return virCapabilitiesFormatXML(caps); } static virDomainObj * @@ -1558,7 +1553,6 @@ bhyveConnectDomainXMLFromNative(virConnectPtr conn, const char *nativeConfig, unsigned int flags) { - char *xml = NULL; g_autoptr(virDomainDef) def = NULL; struct _bhyveConn *privconn = conn->privateData; unsigned bhyveCaps = bhyveDriverGetBhyveCaps(privconn); @@ -1571,18 +1565,15 @@ bhyveConnectDomainXMLFromNative(virConnectPtr conn, if (STRNEQ(nativeFormat, BHYVE_CONFIG_FORMAT_ARGV)) { virReportError(VIR_ERR_INVALID_ARG, _("unsupported config type %s"), nativeFormat); - goto cleanup; + return NULL; } def = bhyveParseCommandLineString(nativeConfig, bhyveCaps, privconn->xmlopt); if (def == NULL) - goto cleanup; + return NULL; - xml = virDomainDefFormat(def, privconn->xmlopt, 0); - - cleanup: - return xml; + return virDomainDefFormat(def, privconn->xmlopt, 0); } static char * diff --git a/src/ch/ch_conf.c b/src/ch/ch_conf.c index a9cbbca560..98f1e89003 100644 --- a/src/ch/ch_conf.c +++ b/src/ch/ch_conf.c @@ -57,13 +57,13 @@ virCaps *virCHDriverCapsInit(void) if ((caps = virCapabilitiesNew(virArchFromHost(), false, false)) == NULL) - goto cleanup; + return NULL; if (!(caps->host.numa = virCapabilitiesHostNUMANewHost())) - goto cleanup; + return NULL; if (virCapabilitiesInitCaches(caps) < 0) - goto cleanup; + return NULL; guest = virCapabilitiesAddGuest(caps, VIR_DOMAIN_OSTYPE_HVM, caps->host.arch, NULL, NULL, 0, NULL); @@ -71,9 +71,6 @@ virCaps *virCHDriverCapsInit(void) virCapabilitiesAddGuestDomain(guest, VIR_DOMAIN_VIRT_KVM, NULL, NULL, 0, NULL); return g_steal_pointer(&caps); - - cleanup: - return NULL; } /** diff --git a/src/hyperv/hyperv_driver.c b/src/hyperv/hyperv_driver.c index 4d938f4d7f..3327f0132e 100644 --- a/src/hyperv/hyperv_driver.c +++ b/src/hyperv/hyperv_driver.c @@ -271,7 +271,7 @@ hypervCapsInit(hypervPrivate *priv) return NULL; if (hypervLookupHostSystemBiosUuid(priv, caps->host.host_uuid) < 0) - goto error; + return NULL; /* i686 caps */ guest = virCapabilitiesAddGuest(caps, VIR_DOMAIN_OSTYPE_HVM, VIR_ARCH_I686, @@ -288,9 +288,6 @@ hypervCapsInit(hypervPrivate *priv) NULL, NULL, 0, NULL); return g_steal_pointer(&caps); - - error: - return NULL; } diff --git a/src/libxl/libxl_capabilities.c b/src/libxl/libxl_capabilities.c index 9084dacb40..970ad37306 100644 --- a/src/libxl/libxl_capabilities.c +++ b/src/libxl/libxl_capabilities.c @@ -645,18 +645,15 @@ libxlMakeCapabilities(libxl_ctx *ctx) return NULL; if (libxlCapsInitHost(ctx, caps) < 0) - goto error; + return NULL; if (libxlCapsInitNuma(ctx, caps) < 0) - goto error; + return NULL; if (libxlCapsInitGuests(ctx, caps) < 0) - goto error; + return NULL; return g_steal_pointer(&caps); - - error: - return NULL; } /* diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c index f37c228139..1ac6253ad7 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c @@ -1891,7 +1891,6 @@ libxlDriverGetDom0MaxmemConf(libxlDriverConfig *cfg, size_t i; size_t j; libxl_physinfo physinfo; - int ret = -1; if (cfg->verInfo->commandline == NULL || !(cmd_tokens = g_strsplit(cfg->verInfo->commandline, " ", 0))) @@ -1931,8 +1930,7 @@ libxlDriverGetDom0MaxmemConf(libxlDriverConfig *cfg, } } *maxmem = *maxmem * multiplier; - ret = 0; - goto cleanup; + return 0; } } } @@ -1942,14 +1940,11 @@ libxlDriverGetDom0MaxmemConf(libxlDriverConfig *cfg, libxl_physinfo_init(&physinfo); if (libxl_get_physinfo(cfg->ctx, &physinfo)) { VIR_WARN("libxl_get_physinfo failed"); - goto cleanup; + return -1; } *maxmem = (physinfo.total_pages * cfg->verInfo->pagesize) / 1024; libxl_physinfo_dispose(&physinfo); - ret = 0; - - cleanup: - return ret; + return 0; } diff --git a/src/libxl/xen_common.c b/src/libxl/xen_common.c index 32c31d240e..e68ca1cde3 100644 --- a/src/libxl/xen_common.c +++ b/src/libxl/xen_common.c @@ -1575,19 +1575,15 @@ xenMakeIPList(virNetDevIPInfo *guestIP) { size_t i; g_auto(GStrv) address_array = NULL; - char *ret = NULL; address_array = g_new0(char *, guestIP->nips + 1); for (i = 0; i < guestIP->nips; i++) { address_array[i] = virSocketAddrFormat(&guestIP->ips[i]->address); if (!address_array[i]) - goto cleanup; + return NULL; } - ret = g_strjoinv(" ", address_array); - - cleanup: - return ret; + return g_strjoinv(" ", address_array); } static int diff --git a/src/libxl/xen_xl.c b/src/libxl/xen_xl.c index 8aba115d96..7604e3d534 100644 --- a/src/libxl/xen_xl.c +++ b/src/libxl/xen_xl.c @@ -248,7 +248,6 @@ xenParseXLCPUID(virConf *conf, virDomainDef *def) g_autofree char *cpuid_str = NULL; g_auto(GStrv) cpuid_pairs = NULL; size_t i; - int ret = -1; int policy; if (xenConfigGetString(conf, "cpuid", &cpuid_str, NULL) < 0) @@ -267,29 +266,27 @@ xenParseXLCPUID(virConf *conf, virDomainDef *def) cpuid_pairs = g_strsplit(cpuid_str, ",", 0); if (!cpuid_pairs) - goto cleanup; + return -1; - if (!cpuid_pairs[0]) { - ret = 0; - goto cleanup; - } + if (!cpuid_pairs[0]) + return 0; if (STRNEQ(cpuid_pairs[0], "host")) { virReportError(VIR_ERR_CONF_SYNTAX, _("cpuid starting with %s is not supported, only libxl format is"), cpuid_pairs[0]); - goto cleanup; + return -1; } for (i = 1; cpuid_pairs[i]; i++) { g_auto(GStrv) name_and_value = g_strsplit(cpuid_pairs[i], "=", 2); if (!name_and_value) - goto cleanup; + return -1; if (!name_and_value[0] || !name_and_value[1]) { virReportError(VIR_ERR_CONF_SYNTAX, _("Invalid libxl cpuid key=value element: %s"), cpuid_pairs[i]); - goto cleanup; + return -1; } if (STREQ(name_and_value[1], "1")) { policy = VIR_CPU_FEATURE_FORCE; @@ -305,19 +302,16 @@ xenParseXLCPUID(virConf *conf, virDomainDef *def) virReportError(VIR_ERR_CONF_SYNTAX, _("Invalid libxl cpuid value: %s"), cpuid_pairs[i]); - goto cleanup; + return -1; } if (virCPUDefAddFeature(def->cpu, xenTranslateCPUFeature(name_and_value[0], true), policy) < 0) - goto cleanup; + return -1; } - ret = 0; - - cleanup: - return ret; + return 0; } @@ -1292,7 +1286,6 @@ xenFormatXLCPUID(virConf *conf, virDomainDef *def) g_auto(GStrv) cpuid_pairs = NULL; g_autofree char *cpuid_string = NULL; size_t i, j; - int ret = -1; if (!def->cpu) return 0; @@ -1341,13 +1334,10 @@ xenFormatXLCPUID(virConf *conf, virDomainDef *def) cpuid_string = g_strjoinv(",", cpuid_pairs); if (xenConfigSetString(conf, "cpuid", cpuid_string) < 0) - goto cleanup; + return -1; } - ret = 0; - - cleanup: - return ret; + return 0; } static int diff --git a/src/lxc/lxc_conf.c b/src/lxc/lxc_conf.c index e9186b879e..8955578d54 100644 --- a/src/lxc/lxc_conf.c +++ b/src/lxc/lxc_conf.c @@ -65,14 +65,14 @@ virCaps *virLXCDriverCapsInit(virLXCDriver *driver) if ((caps = virCapabilitiesNew(virArchFromHost(), false, false)) == NULL) - goto error; + return NULL; /* Some machines have problematic NUMA topology causing * unexpected failures. We don't want to break the lxc * driver in this scenario, so log errors & carry on */ if (!(caps->host.numa = virCapabilitiesHostNUMANewHost())) - goto error; + return NULL; if (virCapabilitiesInitCaches(caps) < 0) VIR_WARN("Failed to get host CPU cache info"); @@ -89,13 +89,13 @@ virCaps *virLXCDriverCapsInit(virLXCDriver *driver) if (virGetHostUUID(caps->host.host_uuid)) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("cannot get the host uuid")); - goto error; + return NULL; } if (!(lxc_path = virFileFindResource("libvirt_lxc", abs_top_builddir "/src", LIBEXECDIR))) - goto error; + return NULL; guest = virCapabilitiesAddGuest(caps, VIR_DOMAIN_OSTYPE_EXE, caps->host.arch, lxc_path, NULL, 0, NULL); @@ -130,7 +130,7 @@ virCaps *virLXCDriverCapsInit(virLXCDriver *driver) virCapabilitiesHostSecModelAddBaseLabel(&caps->host.secModels[0], type, label) < 0) - goto error; + return NULL; VIR_DEBUG("Initialized caps for security driver \"%s\" with " "DOI \"%s\"", model, doi); @@ -139,9 +139,6 @@ virCaps *virLXCDriverCapsInit(virLXCDriver *driver) } return g_steal_pointer(&caps); - - error: - return NULL; } diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c index 13f2fd4c29..1d5b9bf429 100644 --- a/src/lxc/lxc_container.c +++ b/src/lxc/lxc_container.c @@ -515,13 +515,12 @@ static int lxcContainerUnmountSubtree(const char *prefix, size_t i; int saveErrno; const char *failedUmount = NULL; - int ret = -1; VIR_DEBUG("Unmount subtree from %s", prefix); if (virFileGetMountReverseSubtree("/proc/mounts", prefix, &mounts, &nmounts) < 0) - goto cleanup; + return -1; for (i = 0; i < nmounts; i++) { VIR_DEBUG("Umount %s", mounts[i]); if (umount(mounts[i]) < 0) { @@ -540,7 +539,7 @@ static int lxcContainerUnmountSubtree(const char *prefix, virReportSystemError(saveErrno, _("Failed to unmount '%s' and could not detach subtree '%s'"), failedUmount, mounts[nmounts-1]); - goto cleanup; + return -1; } /* This unmounts the tmpfs on which the old root filesystem was hosted */ if (isOldRootFS && @@ -548,14 +547,11 @@ static int lxcContainerUnmountSubtree(const char *prefix, virReportSystemError(saveErrno, _("Failed to unmount '%s' and could not unmount old root '%s'"), failedUmount, mounts[nmounts-1]); - goto cleanup; + return -1; } } - ret = 0; - - cleanup: - return ret; + return 0; } static int lxcContainerResolveSymlinks(virDomainFSDef *fs, bool gentle) diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index aa4bdd68ac..fe583ccb76 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -928,7 +928,6 @@ static char *lxcConnectDomainXMLFromNative(virConnectPtr conn, const char *nativeConfig, unsigned int flags) { - char *xml = NULL; g_autoptr(virDomainDef) def = NULL; virLXCDriver *driver = conn->privateData; g_autoptr(virCaps) caps = virLXCDriverGetCapabilities(driver, false); @@ -936,21 +935,18 @@ static char *lxcConnectDomainXMLFromNative(virConnectPtr conn, virCheckFlags(0, NULL); if (virConnectDomainXMLFromNativeEnsureACL(conn) < 0) - goto cleanup; + return NULL; if (STRNEQ(nativeFormat, LXC_CONFIG_FORMAT)) { virReportError(VIR_ERR_INVALID_ARG, _("unsupported config type %s"), nativeFormat); - goto cleanup; + return NULL; } if (!(def = lxcParseConfigString(nativeConfig, caps, driver->xmlopt))) - goto cleanup; + return NULL; - xml = virDomainDefFormat(def, driver->xmlopt, 0); - - cleanup: - return xml; + return virDomainDefFormat(def, driver->xmlopt, 0); } /** diff --git a/src/lxc/lxc_native.c b/src/lxc/lxc_native.c index e9b58cbd1a..84ed33521f 100644 --- a/src/lxc/lxc_native.c +++ b/src/lxc/lxc_native.c @@ -119,7 +119,7 @@ static char ** lxcStringSplit(const char *string) } if (!(parts = g_strsplit(tmp, " ", 0))) - goto error; + return NULL; /* Append NULL element */ VIR_EXPAND_N(result, ntokens, 1); @@ -133,9 +133,6 @@ static char ** lxcStringSplit(const char *string) } return g_steal_pointer(&result); - - error: - return NULL; } static lxcFstab * @@ -250,7 +247,6 @@ lxcAddFstabLine(virDomainDef *def, lxcFstab *fstab) bool readonly; int type = VIR_DOMAIN_FS_TYPE_MOUNT; unsigned long long usage = 0; - int ret = -1; if (!options) return -1; @@ -262,10 +258,8 @@ lxcAddFstabLine(virDomainDef *def, lxcFstab *fstab) } /* Check that we don't add basic mounts */ - if (lxcIsBasicMountLocation(dst)) { - ret = 0; - goto cleanup; - } + if (lxcIsBasicMountLocation(dst)) + return 0; if (STREQ(fstab->type, "tmpfs")) { char *sizeStr = NULL; @@ -275,14 +269,14 @@ lxcAddFstabLine(virDomainDef *def, lxcFstab *fstab) for (i = 0; options[i]; i++) { if ((sizeStr = STRSKIP(options[i], "size="))) { if (lxcConvertSize(sizeStr, &usage) < 0) - goto cleanup; + return -1; break; } } if (!sizeStr) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("missing tmpfs size, set the size option")); - goto cleanup; + return -1; } } else { src = fstab->src; @@ -296,12 +290,9 @@ lxcAddFstabLine(virDomainDef *def, lxcFstab *fstab) readonly = g_strv_contains((const char **)options, "ro"); if (lxcAddFSDef(def, type, src, dst, readonly, usage) < 0) - goto cleanup; + return -1; - ret = 1; - - cleanup: - return ret; + return 1; } static int @@ -961,7 +952,6 @@ lxcBlkioDeviceWalkCallback(const char *name, virConfValue *value, void *data) virDomainDef *def = data; size_t i = 0; g_autofree char *path = NULL; - int ret = -1; if (!STRPREFIX(name, "lxc.cgroup.blkio.") || STREQ(name, "lxc.cgroup.blkio.weight")|| !value->str) @@ -974,7 +964,7 @@ lxcBlkioDeviceWalkCallback(const char *name, virConfValue *value, void *data) virReportError(VIR_ERR_INTERNAL_ERROR, _("invalid %s value: '%s'"), name, value->str); - goto cleanup; + return -1; } path = g_strdup_printf("/dev/block/%s", parts[0]); @@ -996,44 +986,41 @@ lxcBlkioDeviceWalkCallback(const char *name, virConfValue *value, void *data) if (virStrToLong_ui(parts[1], NULL, 10, &device->weight) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("failed to parse device weight: '%s'"), parts[1]); - goto cleanup; + return -1; } } else if (STREQ(name, "lxc.cgroup.blkio.throttle.read_bps_device")) { if (virStrToLong_ull(parts[1], NULL, 10, &device->rbps) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("failed to parse read_bps_device: '%s'"), parts[1]); - goto cleanup; + return -1; } } else if (STREQ(name, "lxc.cgroup.blkio.throttle.write_bps_device")) { if (virStrToLong_ull(parts[1], NULL, 10, &device->wbps) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("failed to parse write_bps_device: '%s'"), parts[1]); - goto cleanup; + return -1; } } else if (STREQ(name, "lxc.cgroup.blkio.throttle.read_iops_device")) { if (virStrToLong_ui(parts[1], NULL, 10, &device->riops) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("failed to parse read_iops_device: '%s'"), parts[1]); - goto cleanup; + return -1; } } else if (STREQ(name, "lxc.cgroup.blkio.throttle.write_iops_device")) { if (virStrToLong_ui(parts[1], NULL, 10, &device->wiops) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("failed to parse write_iops_device: '%s'"), parts[1]); - goto cleanup; + return -1; } } else { VIR_WARN("Unhandled blkio tune config: %s", name); } - ret = 0; - - cleanup: - return ret; + return 0; } static int diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c index 9cae025517..625208c86b 100644 --- a/src/lxc/lxc_process.c +++ b/src/lxc/lxc_process.c @@ -361,7 +361,6 @@ virLXCProcessSetupInterfaceDirect(virLXCDriver *driver, virDomainDef *def, virDomainNetDef *net) { - char *ret = NULL; char *res_ifname = NULL; const virNetDevBandwidth *bw; const virNetDevVPortProfile *prof; @@ -407,12 +406,9 @@ virLXCProcessSetupInterfaceDirect(virLXCDriver *driver, cfg->stateDir, NULL, 0, macvlan_create_flags) < 0) - goto cleanup; + return NULL; - ret = res_ifname; - - cleanup: - return ret; + return res_ifname; } static const char *nsInfoLocal[VIR_LXC_DOMAIN_NAMESPACE_LAST] = { @@ -834,7 +830,7 @@ static virLXCMonitor *virLXCProcessConnectMonitor(virLXCDriver *driver, g_autoptr(virLXCDriverConfig) cfg = virLXCDriverGetConfig(driver); if (virSecurityManagerSetSocketLabel(driver->securityManager, vm->def) < 0) - goto cleanup; + return NULL; /* Hold an extra reference because we can't allow 'vm' to be * deleted while the monitor is active. This will be unreffed @@ -847,14 +843,11 @@ static virLXCMonitor *virLXCProcessConnectMonitor(virLXCDriver *driver, virObjectUnref(vm); if (virSecurityManagerClearSocketLabel(driver->securityManager, vm->def) < 0) { - if (monitor) { + if (monitor) virObjectUnref(monitor); - monitor = NULL; - } - goto cleanup; + return NULL; } - cleanup: return monitor; } @@ -1015,7 +1008,7 @@ virLXCProcessBuildControllerCmd(virLXCDriver *driver, virCommandRequireHandshake(cmd); cleanup: - return cmd; + return cmd; error: virCommandFree(cmd); cmd = NULL; diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 020a9e5df0..0e93b79922 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -298,12 +298,12 @@ testBuildCapabilities(virConnectPtr conn) size_t i, j; if ((caps = virCapabilitiesNew(VIR_ARCH_I686, false, false)) == NULL) - goto error; + return NULL; if (virCapabilitiesAddHostFeature(caps, "pae") < 0) - goto error; + return NULL; if (virCapabilitiesAddHostFeature(caps, "nonpae") < 0) - goto error; + return NULL; virCapabilitiesHostInitIOMMU(caps); @@ -362,9 +362,6 @@ testBuildCapabilities(virConnectPtr conn) caps->host.secModels[0].doi = g_strdup(""); return g_steal_pointer(&caps); - - error: - return NULL; } diff --git a/src/util/vircgroup.c b/src/util/vircgroup.c index bf8db47ad4..5cfc20f1ed 100644 --- a/src/util/vircgroup.c +++ b/src/util/vircgroup.c @@ -853,10 +853,9 @@ virCgroupSetPartitionSuffix(const char *path, char **res) { g_auto(GStrv) tokens = NULL; size_t i; - int ret = -1; if (!(tokens = g_strsplit(path, "/", 0))) - return ret; + return -1; for (i = 0; tokens[i] != NULL; i++) { /* Special case the 3 top level fixed dirs @@ -878,16 +877,13 @@ virCgroupSetPartitionSuffix(const char *path, char **res) } if (virCgroupPartitionEscape(&(tokens[i])) < 0) - goto cleanup; + return -1; } if (!(*res = g_strjoinv("/", tokens))) - goto cleanup; + return -1; - ret = 0; - - cleanup: - return ret; + return 0; } diff --git a/src/util/virfirmware.c b/src/util/virfirmware.c index cc5e315b7a..b2e3491544 100644 --- a/src/util/virfirmware.c +++ b/src/util/virfirmware.c @@ -58,11 +58,10 @@ virFirmwareFreeList(virFirmware **firmwares, size_t nfirmwares) int virFirmwareParse(const char *str, virFirmware *firmware) { - int ret = -1; g_auto(GStrv) token = NULL; if (!(token = g_strsplit(str, ":", 0))) - goto cleanup; + return -1; if (token[0]) { virSkipSpaces((const char **) &token[0]); @@ -76,15 +75,13 @@ virFirmwareParse(const char *str, virFirmware *firmware) virReportError(VIR_ERR_CONF_SYNTAX, _("Invalid nvram format: '%s'"), str); - goto cleanup; + return -1; } firmware->name = g_strdup(token[0]); firmware->nvram = g_strdup(token[1]); - ret = 0; - cleanup: - return ret; + return 0; } @@ -93,12 +90,11 @@ virFirmwareParseList(const char *list, virFirmware ***firmwares, size_t *nfirmwares) { - int ret = -1; g_auto(GStrv) token = NULL; size_t i, j; if (!(token = g_strsplit(list, ":", 0))) - goto cleanup; + return -1; for (i = 0; token[i]; i += 2) { if (!token[i] || !token[i + 1] || @@ -106,7 +102,7 @@ virFirmwareParseList(const char *list, virReportError(VIR_ERR_INTERNAL_ERROR, _("Invalid --with-loader-nvram list: %s"), list); - goto cleanup; + return -1; } } @@ -123,7 +119,5 @@ virFirmwareParseList(const char *list, } } - ret = 0; - cleanup: - return ret; + return 0; } diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c index 1353efa6ab..c16cc2be00 100644 --- a/src/vz/vz_driver.c +++ b/src/vz/vz_driver.c @@ -115,32 +115,29 @@ vzBuildCapabilities(void) return NULL; if (!(caps->host.numa = virCapabilitiesHostNUMANewHost())) - goto error; + return NULL; if (virCapabilitiesInitCaches(caps) < 0) - goto error; + return NULL; for (i = 0; i < G_N_ELEMENTS(ostypes); i++) for (j = 0; j < G_N_ELEMENTS(archs); j++) for (k = 0; k < G_N_ELEMENTS(emulators); k++) if (vzCapsAddGuestDomain(caps, ostypes[i], archs[j], emulators[k], virt_types[k]) < 0) - goto error; + return NULL; if (virCapabilitiesGetNodeInfo(&nodeinfo)) - goto error; + return NULL; if (!(caps->host.cpu = virCPUGetHost(caps->host.arch, VIR_CPU_TYPE_HOST, &nodeinfo, NULL))) - goto error; + return NULL; if (virCapabilitiesAddHostMigrateTransport(caps, "vzmigr") < 0) - goto error; + return NULL; return g_steal_pointer(&caps); - - error: - return NULL; } static void vzDriverDispose(void * obj) diff --git a/tests/qemucaps2xmltest.c b/tests/qemucaps2xmltest.c index aec4647678..942c8e7aa4 100644 --- a/tests/qemucaps2xmltest.c +++ b/tests/qemucaps2xmltest.c @@ -94,12 +94,12 @@ testGetCaps(char *capsData, const testQemuData *data) if ((qemuCaps = testQemuGetCaps(capsData)) == NULL) { fprintf(stderr, "failed to parse qemu capabilities flags"); - goto error; + return NULL; } if ((caps = virCapabilitiesNew(arch, false, false)) == NULL) { fprintf(stderr, "failed to create the fake capabilities"); - goto error; + return NULL; } if (virQEMUCapsInitGuestFromBinary(caps, @@ -107,13 +107,10 @@ testGetCaps(char *capsData, const testQemuData *data) qemuCaps, arch) < 0) { fprintf(stderr, "failed to create the capabilities from qemu"); - goto error; + return NULL; } return g_steal_pointer(&caps); - - error: - return NULL; } static int diff --git a/tests/vboxsnapshotxmltest.c b/tests/vboxsnapshotxmltest.c index d69eb3fc24..3ad8298895 100644 --- a/tests/vboxsnapshotxmltest.c +++ b/tests/vboxsnapshotxmltest.c @@ -21,11 +21,10 @@ testFilterXML(char *xml) g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; g_auto(GStrv) xmlLines = NULL; char **xmlLine; - char *ret = NULL; if (!(xmlLines = g_strsplit(xml, "\n", 0))) { VIR_FREE(xml); - goto cleanup; + return NULL; } VIR_FREE(xml); @@ -36,10 +35,7 @@ testFilterXML(char *xml) virBufferStrcat(&buf, *xmlLine, "\n", NULL); } - ret = virBufferContentAndReset(&buf); - - cleanup: - return ret; + return virBufferContentAndReset(&buf); } static int diff --git a/tests/virconftest.c b/tests/virconftest.c index 32d3d8849b..3b203b6ae6 100644 --- a/tests/virconftest.c +++ b/tests/virconftest.c @@ -370,7 +370,6 @@ static int testConfParseStringList(const void *opaque G_GNUC_UNUSED) "string_list = [\"foo\", \"bar\"]\n" \ "string = \"foo\"\n"; - int ret = -1; g_autoptr(virConf) conf = virConfReadString(srcdata, 0); g_auto(GStrv) str = NULL; @@ -380,50 +379,47 @@ static int testConfParseStringList(const void *opaque G_GNUC_UNUSED) if (virConfGetValueType(conf, "string_list") != VIR_CONF_LIST) { fprintf(stderr, "expected a list for 'string_list'\n"); - goto cleanup; + return -1; } if (virConfGetValueStringList(conf, "string_list", false, &str) < 0) - goto cleanup; + return -1; if (!str || g_strv_length(str) != 2) { fprintf(stderr, "expected a 2 element list\n"); - goto cleanup; + return -1; } if (STRNEQ_NULLABLE(str[0], "foo")) { fprintf(stderr, "Expected 'foo' got '%s'\n", str[0]); - goto cleanup; + return -1; } if (STRNEQ_NULLABLE(str[1], "bar")) { fprintf(stderr, "Expected 'bar' got '%s'\n", str[1]); - goto cleanup; + return -1; } if (virConfGetValueStringList(conf, "string", false, &str) != -1) { fprintf(stderr, "Expected error for 'string'\n"); - goto cleanup; + return -1; } if (virConfGetValueStringList(conf, "string", true, &str) < 0) - goto cleanup; + return -1; if (!str || g_strv_length(str) != 1) { fprintf(stderr, "expected a 1 element list\n"); - goto cleanup; + return -1; } if (STRNEQ_NULLABLE(str[0], "foo")) { fprintf(stderr, "Expected 'foo' got '%s'\n", str[0]); - goto cleanup; + return -1; } - - ret = 0; - cleanup: - return ret; + return 0; } diff --git a/tests/virfiletest.c b/tests/virfiletest.c index 2fbece8f63..1e95c77d06 100644 --- a/tests/virfiletest.c +++ b/tests/virfiletest.c @@ -64,7 +64,6 @@ struct testFileGetMountSubtreeData { static int testFileGetMountSubtree(const void *opaque) { - int ret = -1; g_auto(GStrv) gotmounts = NULL; size_t gotnmounts = 0; const struct testFileGetMountSubtreeData *data = opaque; @@ -74,21 +73,18 @@ static int testFileGetMountSubtree(const void *opaque) data->prefix, &gotmounts, &gotnmounts) < 0) - goto cleanup; + return -1; } else { if (virFileGetMountSubtree(data->path, data->prefix, &gotmounts, &gotnmounts) < 0) - goto cleanup; + return -1; } - ret = testFileCheckMounts(data->prefix, - gotmounts, gotnmounts, - data->mounts, data->nmounts); - - cleanup: - return ret; + return testFileCheckMounts(data->prefix, + gotmounts, gotnmounts, + data->mounts, data->nmounts); } #endif /* ! defined WITH_MNTENT_H && defined WITH_GETMNTENT_R */ diff --git a/tests/virstringtest.c b/tests/virstringtest.c index 77fcec5613..b406076020 100644 --- a/tests/virstringtest.c +++ b/tests/virstringtest.c @@ -129,7 +129,6 @@ testStringSearch(const void *opaque) const struct stringSearchData *data = opaque; g_auto(GStrv) matches = NULL; ssize_t nmatches; - int ret = -1; nmatches = virStringSearch(data->str, data->regexp, data->maxMatches, &matches); @@ -138,7 +137,7 @@ testStringSearch(const void *opaque) if (nmatches != -1) { fprintf(stderr, "expected error on %s but got %zd matches\n", data->str, nmatches); - goto cleanup; + return -1; } } else { size_t i; @@ -146,35 +145,32 @@ testStringSearch(const void *opaque) if (nmatches < 0) { fprintf(stderr, "expected %zu matches on %s but got error\n", data->expectNMatches, data->str); - goto cleanup; + return -1; } if (nmatches != data->expectNMatches) { fprintf(stderr, "expected %zu matches on %s but got %zd\n", data->expectNMatches, data->str, nmatches); - goto cleanup; + return -1; } if (g_strv_length(matches) != nmatches) { fprintf(stderr, "expected %zu matches on %s but got %u matches\n", data->expectNMatches, data->str, g_strv_length(matches)); - goto cleanup; + return -1; } for (i = 0; i < nmatches; i++) { if (STRNEQ(matches[i], data->expectMatches[i])) { fprintf(stderr, "match %zu expected '%s' but got '%s'\n", i, data->expectMatches[i], matches[i]); - goto cleanup; + return -1; } } } - ret = 0; - - cleanup: - return ret; + return 0; } -- 2.31.1

On 12/10/21 17:06, Ján Tomko wrote:
Pipeline in progress: https://gitlab.com/janotomko/libvirt/-/pipelines/427100328
Ján Tomko (8): lxc: fix error value of lxcNodeGetSecurityModel Use g_auto for freeing virCaps Use g_auto for stealing virCaps lxc: define cleanup function for virLXCDriverConfig lxc: use g_auto for virLXCDriverGetConfig lxc: remove cleanup from lxcNodeGetSecurityModel bhyve: bhyveConnectCompareCPU: remove cleanup label Remove empty cleanup sections
src/bhyve/bhyve_driver.c | 46 ++++++---------- src/ch/ch_conf.c | 14 ++--- src/ch/ch_driver.c | 3 +- src/hyperv/hyperv_driver.c | 10 ++-- src/libxl/libxl_capabilities.c | 14 ++--- src/libxl/libxl_conf.c | 11 ++-- src/libxl/xen_common.c | 8 +-- src/libxl/xen_xl.c | 32 ++++------- src/lxc/lxc_conf.c | 18 +++---- src/lxc/lxc_conf.h | 2 + src/lxc/lxc_container.c | 12 ++--- src/lxc/lxc_driver.c | 97 ++++++++++++---------------------- src/lxc/lxc_native.c | 41 +++++--------- src/lxc/lxc_process.c | 44 +++++---------- src/test/test_driver.c | 14 ++--- src/util/vircgroup.c | 12 ++--- src/util/virfirmware.c | 18 +++---- src/vmware/vmware_conf.c | 5 +- src/vz/vz_driver.c | 20 +++---- tests/qemucaps2xmltest.c | 14 ++--- tests/testutilsxen.c | 5 +- tests/vboxsnapshotxmltest.c | 8 +-- tests/virconftest.c | 24 ++++----- tests/virfiletest.c | 14 ++--- tests/virstringtest.c | 16 +++--- 25 files changed, 174 insertions(+), 328 deletions(-)
Reviewed-by: Michal Privoznik <mprivozn@redhat.com> Michal
participants (2)
-
Ján Tomko
-
Michal Prívozník