On a Friday in 2023, Jiang Jiacheng wrote:
Signed-off-by: Jiang Jiacheng <jiangjiacheng@xxxxxxxxxx> --- src/conf/domain_audit.c | 121 ++++++++++--------------------- src/conf/node_device_util.c | 49 +++++-------- src/conf/nwfilter_conf.c | 55 +++++--------- src/conf/virnetworkobj.c | 85 ++++++++-------------- src/conf/virnetworkportdef.c | 12 +-- src/conf/virnwfilterbindingobj.c | 22 ++---- src/conf/virnwfilterobj.c | 19 ++--- src/conf/virstorageobj.c | 23 ++---- 8 files changed, 129 insertions(+), 257 deletions(-)
[...]
diff --git a/src/conf/node_device_util.c b/src/conf/node_device_util.c index dfec1a91ce..c2fa73afc1 100644 --- a/src/conf/node_device_util.c +++ b/src/conf/node_device_util.c @@ -78,7 +78,7 @@ virNodeDeviceCreateVport(virStorageAdapterFCHost *fchost) { unsigned int parent_host; char *name = NULL; - char *parent_hoststr = NULL; + g_autofree char *parent_hoststr = NULL; bool skip_capable_check = false; VIR_DEBUG("parent='%s', wwnn='%s' wwpn='%s'", @@ -91,27 +91,27 @@ virNodeDeviceCreateVport(virStorageAdapterFCHost *fchost) fchost->parent_wwpn))) { virReportError(VIR_ERR_XML_ERROR, "%s", _("cannot find parent using provided wwnn/wwpn")); - goto cleanup; + return name; } } else if (fchost->parent_fabric_wwn) { if (!(parent_hoststr = virVHBAGetHostByFabricWWN(NULL, fchost->parent_fabric_wwn))) { virReportError(VIR_ERR_XML_ERROR, "%s", _("cannot find parent using provided fabric_wwn")); - goto cleanup; + return name; } } else { if (!(parent_hoststr = virVHBAFindVportHost(NULL))) { virReportError(VIR_ERR_XML_ERROR, "%s", _("'parent' for vHBA not specified, and " "cannot find one on this host")); - goto cleanup; + return name; } skip_capable_check = true; } if (virSCSIHostGetNumber(parent_hoststr, &parent_host) < 0) - goto cleanup; + return name; /* NOTE: * We do not save the parent_hoststr in fchost->parent since @@ -125,23 +125,21 @@ virNodeDeviceCreateVport(virStorageAdapterFCHost *fchost) virReportError(VIR_ERR_XML_ERROR, _("parent '%s' specified for vHBA does not exist"), parent_hoststr); - goto cleanup; + return name; } if (virVHBAManageVport(parent_host, fchost->wwpn, fchost->wwnn, VPORT_CREATE) < 0) - goto cleanup; + return name; /* Let's ensure the device was created */ virWaitForDevices(); if (!(name = virVHBAGetHostByWWN(NULL, fchost->wwnn, fchost->wwpn))) { ignore_value(virVHBAManageVport(parent_host, fchost->wwpn, fchost->wwnn, VPORT_DELETE)); - goto cleanup; + return name;
In all the cases above, name can only be NULL, so returning NULL directly is better for clarity.
} - cleanup: - VIR_FREE(parent_hoststr); return name; } diff --git a/src/conf/nwfilter_conf.c b/src/conf/nwfilter_conf.c index 9a95ae6c12..e5ea45b0b7 100644 --- a/src/conf/nwfilter_conf.c +++ b/src/conf/nwfilter_conf.c @@ -2375,10 +2375,10 @@ virNWFilterRuleDefFixup(virNWFilterRuleDef *rule) static virNWFilterRuleDef * virNWFilterRuleParse(xmlNodePtr node) { - char *action; - char *direction; - char *prio; - char *statematch; + g_autofree char *action = NULL; + g_autofree char *direction = NULL; + g_autofree char *prio = NULL; + g_autofree char *statematch = NULL; bool found; int found_i = 0; int priority; @@ -2476,17 +2476,11 @@ virNWFilterRuleParse(xmlNodePtr node) virNWFilterRuleDefFixup(ret); - cleanup: - VIR_FREE(prio); - VIR_FREE(action); - VIR_FREE(direction); - VIR_FREE(statematch); - return ret; err_exit: g_clear_pointer(&ret, virNWFilterRuleDefFree); - goto cleanup; + return ret;
Clearer as: return NULL;
} @@ -2707,24 +2693,21 @@ virNWFilterSaveConfig(const char *configDir, virNWFilterDef *def) { int ret = -1; - char *xml; + g_autofree char *xml = NULL; char uuidstr[VIR_UUID_STRING_BUFLEN]; - char *configFile = NULL; + g_autofree char *configFile = NULL; if (!(xml = virNWFilterDefFormat(def))) - goto cleanup; + return ret; if (!(configFile = virFileBuildPath(configDir, def->name, ".xml"))) - goto cleanup; + return ret;
In the two returns above: return -1; (As a followup, the ret variable can be removed)
virUUIDFormat(def->uuid, uuidstr); ret = virXMLSaveFile(configFile, virXMLPickShellSafeComment(def->name, uuidstr), "nwfilter-edit", xml); - cleanup: - VIR_FREE(configFile); - VIR_FREE(xml); return ret; }
I will squash in the following before pushing: diff --git a/src/conf/node_device_util.c b/src/conf/node_device_util.c index c2fa73afc1..3c2fc4e258 100644 --- a/src/conf/node_device_util.c +++ b/src/conf/node_device_util.c @@ -91,27 +91,27 @@ virNodeDeviceCreateVport(virStorageAdapterFCHost *fchost) fchost->parent_wwpn))) { virReportError(VIR_ERR_XML_ERROR, "%s", _("cannot find parent using provided wwnn/wwpn")); - return name; + return NULL; } } else if (fchost->parent_fabric_wwn) { if (!(parent_hoststr = virVHBAGetHostByFabricWWN(NULL, fchost->parent_fabric_wwn))) { virReportError(VIR_ERR_XML_ERROR, "%s", _("cannot find parent using provided fabric_wwn")); - return name; + return NULL; } } else { if (!(parent_hoststr = virVHBAFindVportHost(NULL))) { virReportError(VIR_ERR_XML_ERROR, "%s", _("'parent' for vHBA not specified, and " "cannot find one on this host")); - return name; + return NULL; } skip_capable_check = true; } if (virSCSIHostGetNumber(parent_hoststr, &parent_host) < 0) - return name; + return NULL; /* NOTE: * We do not save the parent_hoststr in fchost->parent since @@ -125,19 +125,19 @@ virNodeDeviceCreateVport(virStorageAdapterFCHost *fchost) virReportError(VIR_ERR_XML_ERROR, _("parent '%s' specified for vHBA does not exist"), parent_hoststr); - return name; + return NULL; } if (virVHBAManageVport(parent_host, fchost->wwpn, fchost->wwnn, VPORT_CREATE) < 0) - return name; + return NULL; /* Let's ensure the device was created */ virWaitForDevices(); if (!(name = virVHBAGetHostByWWN(NULL, fchost->wwnn, fchost->wwpn))) { ignore_value(virVHBAManageVport(parent_host, fchost->wwpn, fchost->wwnn, VPORT_DELETE)); - return name; + return NULL; } return name; diff --git a/src/conf/nwfilter_conf.c b/src/conf/nwfilter_conf.c index e5ea45b0b7..5453b6db05 100644 --- a/src/conf/nwfilter_conf.c +++ b/src/conf/nwfilter_conf.c @@ -2480,7 +2480,7 @@ virNWFilterRuleParse(xmlNodePtr node) err_exit: g_clear_pointer(&ret, virNWFilterRuleDefFree); - return ret; + return NULL; } @@ -2698,10 +2698,10 @@ virNWFilterSaveConfig(const char *configDir, g_autofree char *configFile = NULL; if (!(xml = virNWFilterDefFormat(def))) - return ret; + return -1; if (!(configFile = virFileBuildPath(configDir, def->name, ".xml"))) - return ret; + return -1; virUUIDFormat(def->uuid, uuidstr); ret = virXMLSaveFile(configFile, Jano
Attachment:
signature.asc
Description: PGP signature