[libvirt PATCH 0/7] use g_new0 more: volume two (glib chronicles)

Ján Tomko (7): bhyve: use g_new0 instead of VIR_ALLOC* esx: use g_new0 instead of VIR_ALLOC* hyperv: use g_new0 instead of VIR_ALLOC* interface: use g_new0 instead of VIR_ALLOC* src: libvirt-stream: use g_new0 instead of VIR_ALLOC* storage: scsi: invert logic in createVport storage: use g_new0 instead of VIR_ALLOC* src/bhyve/bhyve_capabilities.c | 3 +- src/bhyve/bhyve_domain.c | 9 ++---- src/bhyve/bhyve_driver.c | 3 +- src/bhyve/bhyve_parse_command.c | 7 ++--- src/esx/esx_driver.c | 14 ++++----- src/esx/esx_network_driver.c | 17 ++++------- src/esx/esx_storage_backend_iscsi.c | 3 +- src/esx/esx_storage_backend_vmfs.c | 8 ++--- src/esx/esx_stream.c | 6 ++-- src/esx/esx_util.c | 3 +- src/esx/esx_vi.c | 12 +++----- src/esx/esx_vi_types.c | 3 +- src/hyperv/hyperv_driver.c | 13 ++++----- src/hyperv/hyperv_util.c | 3 +- src/hyperv/hyperv_wmi.c | 13 ++------- src/interface/interface_backend_netcf.c | 16 ++++------ src/interface/interface_backend_udev.c | 22 +++++--------- src/libvirt-stream.c | 12 +++----- src/storage/storage_backend_disk.c | 6 ++-- src/storage/storage_backend_fs.c | 8 ++--- src/storage/storage_backend_gluster.c | 12 +++----- src/storage/storage_backend_iscsi.c | 8 ++--- src/storage/storage_backend_iscsi_direct.c | 13 ++++----- src/storage/storage_backend_logical.c | 6 ++-- src/storage/storage_backend_mpath.c | 3 +- src/storage/storage_backend_rbd.c | 29 +++++++----------- src/storage/storage_backend_scsi.c | 17 +++++------ src/storage/storage_backend_sheepdog.c | 3 +- src/storage/storage_backend_zfs.c | 3 +- src/storage/storage_driver.c | 14 +++------ src/storage/storage_file_fs.c | 3 +- src/storage/storage_file_gluster.c | 6 ++-- src/storage/storage_util.c | 34 ++++++++-------------- 33 files changed, 117 insertions(+), 215 deletions(-) -- 2.26.2

Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/bhyve/bhyve_capabilities.c | 3 +-- src/bhyve/bhyve_domain.c | 9 +++------ src/bhyve/bhyve_driver.c | 3 +-- src/bhyve/bhyve_parse_command.c | 7 +++---- 4 files changed, 8 insertions(+), 14 deletions(-) diff --git a/src/bhyve/bhyve_capabilities.c b/src/bhyve/bhyve_capabilities.c index 523a31e287..96cfe8357a 100644 --- a/src/bhyve/bhyve_capabilities.c +++ b/src/bhyve/bhyve_capabilities.c @@ -150,8 +150,7 @@ virBhyveDomainCapsBuild(bhyveConnPtr conn, goto cleanup; } - if (VIR_ALLOC(firmwares) < 0) - goto cleanup; + firmwares = g_new0(virDomainCapsStringValues, 1); if (virDirOpenIfExists(&dir, firmware_dir) > 0) { while ((virDirRead(dir, &entry, firmware_dir)) > 0) { diff --git a/src/bhyve/bhyve_domain.c b/src/bhyve/bhyve_domain.c index 91994c3da5..6935609b96 100644 --- a/src/bhyve/bhyve_domain.c +++ b/src/bhyve/bhyve_domain.c @@ -38,8 +38,7 @@ bhyveDomainObjPrivateAlloc(void *opaque G_GNUC_UNUSED) { bhyveDomainObjPrivatePtr priv; - if (VIR_ALLOC(priv) < 0) - return NULL; + priv = g_new0(bhyveDomainObjPrivate, 1); return priv; } @@ -236,8 +235,7 @@ bhyveDomainDefNamespaceParse(xmlXPathContextPtr ctxt, size_t i; int ret = -1; - if (VIR_ALLOC(cmd) < 0) - return -1; + cmd = g_new0(bhyveDomainCmdlineDef, 1); n = virXPathNodeSet("./bhyve:commandline/bhyve:arg", ctxt, &nodes); if (n == 0) @@ -245,8 +243,7 @@ bhyveDomainDefNamespaceParse(xmlXPathContextPtr ctxt, if (n <= 0) goto cleanup; - if (VIR_ALLOC_N(cmd->args, n) < 0) - goto cleanup; + cmd->args = g_new0(char *, n); for (i = 0; i < n; i++) { cmd->args[cmd->num_args] = virXMLPropString(nodes[i], "value"); diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c index daa20bad40..91f41aa238 100644 --- a/src/bhyve/bhyve_driver.c +++ b/src/bhyve/bhyve_driver.c @@ -1224,8 +1224,7 @@ bhyveStateInitialize(bool privileged, return VIR_DRV_STATE_INIT_SKIPPED; } - if (VIR_ALLOC(bhyve_driver) < 0) - return VIR_DRV_STATE_INIT_ERROR; + bhyve_driver = g_new0(bhyveConn, 1); bhyve_driver->lockFD = -1; if (virMutexInit(&bhyve_driver->lock) < 0) { diff --git a/src/bhyve/bhyve_parse_command.c b/src/bhyve/bhyve_parse_command.c index cf063da289..969e782b27 100644 --- a/src/bhyve/bhyve_parse_command.c +++ b/src/bhyve/bhyve_parse_command.c @@ -53,8 +53,7 @@ bhyveParseCommandLineUnescape(const char *command) /* Since we are only removing characters, allocating a buffer of the same * size as command shouldn't be a problem here */ - if (VIR_ALLOC_N(unescaped, len+1) < 0) - return NULL; + unescaped = g_new0(char, len + 1); /* Iterate over characters in the command, skipping "\\\n", "\\\r" as well * as "\\\r\n". */ @@ -590,8 +589,8 @@ bhyveParsePCIFbuf(virDomainDefPtr def, for (i = 0; i < nparams; i++) { param = params[i]; - if (!video->driver && VIR_ALLOC(video->driver) < 0) - goto error; + if (!video->driver) + video->driver = g_new0(virDomainVideoDriverDef, 1); if (STREQ(param, "vga=on")) video->driver->vgaconf = VIR_DOMAIN_VIDEO_VGACONF_ON; -- 2.26.2

On Fri, Sep 25, 2020 at 15:16:07 +0200, Ján Tomko wrote:
Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/bhyve/bhyve_capabilities.c | 3 +-- src/bhyve/bhyve_domain.c | 9 +++------ src/bhyve/bhyve_driver.c | 3 +-- src/bhyve/bhyve_parse_command.c | 7 +++---- 4 files changed, 8 insertions(+), 14 deletions(-)
Reviewed-by: Peter Krempa <pkrempa@redhat.com>

Ján Tomko wrote:
Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/bhyve/bhyve_capabilities.c | 3 +-- src/bhyve/bhyve_domain.c | 9 +++------ src/bhyve/bhyve_driver.c | 3 +-- src/bhyve/bhyve_parse_command.c | 7 +++---- 4 files changed, 8 insertions(+), 14 deletions(-)
Reviewed-by: Roman Bogorodskiy <bogorodskiy@gmail.com> Roman Bogorodskiy

Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/esx/esx_driver.c | 14 +++++--------- src/esx/esx_network_driver.c | 17 ++++++----------- src/esx/esx_storage_backend_iscsi.c | 3 +-- src/esx/esx_storage_backend_vmfs.c | 8 +++----- src/esx/esx_stream.c | 6 ++---- src/esx/esx_util.c | 3 +-- src/esx/esx_vi.c | 12 ++++-------- src/esx/esx_vi_types.c | 3 +-- 8 files changed, 23 insertions(+), 43 deletions(-) diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c index 5a742ed3df..e82e5ed835 100644 --- a/src/esx/esx_driver.c +++ b/src/esx/esx_driver.c @@ -824,8 +824,7 @@ esxConnectOpen(virConnectPtr conn, virConnectAuthPtr auth, } /* Allocate per-connection private data */ - if (VIR_ALLOC(priv) < 0) - goto cleanup; + priv = g_new0(esxPrivate, 1); if (esxUtil_ParseUri(&priv->parsedUri, conn->uri) < 0) goto cleanup; @@ -4823,9 +4822,8 @@ esxConnectListAllDomains(virConnectPtr conn, !MATCH(VIR_CONNECT_LIST_DOMAINS_PERSISTENT)) || (MATCH(VIR_CONNECT_LIST_DOMAINS_MANAGEDSAVE) && !MATCH(VIR_CONNECT_LIST_DOMAINS_NO_MANAGEDSAVE))) { - if (domains && - VIR_ALLOC_N(*domains, 1) < 0) - goto cleanup; + if (domains) + *domains = g_new0(virDomainPtr, 1); ret = 0; goto cleanup; @@ -4885,8 +4883,7 @@ esxConnectListAllDomains(virConnectPtr conn, goto cleanup; if (domains) { - if (VIR_ALLOC_N(doms, 1) < 0) - goto cleanup; + doms = g_new0(virDomainPtr, 1); ndoms = 1; } @@ -5218,8 +5215,7 @@ esxDomainInterfaceAddresses(virDomainPtr domain, if (VIR_EXPAND_N(ifaces_ret, ifaces_count, 1) < 0) goto cleanup; - if (VIR_ALLOC(ifaces_ret[ifaces_count - 1]) < 0) - goto cleanup; + ifaces_ret[ifaces_count - 1] = g_new0(virDomainInterface, 1); iface = ifaces_ret[ifaces_count - 1]; iface->naddrs = 0; diff --git a/src/esx/esx_network_driver.c b/src/esx/esx_network_driver.c index a4e738ba72..15fc7931c0 100644 --- a/src/esx/esx_network_driver.c +++ b/src/esx/esx_network_driver.c @@ -604,10 +604,9 @@ esxShapingPolicyToBandwidth(esxVI_HostNetworkTrafficShapingPolicy *shapingPolicy if (!shapingPolicy || shapingPolicy->enabled != esxVI_Boolean_True) return 0; - if (VIR_ALLOC(*bandwidth) < 0 || - VIR_ALLOC((*bandwidth)->in) < 0 || - VIR_ALLOC((*bandwidth)->out) < 0) - return -1; + *bandwidth = g_new0(virNetDevBandwidth, 1); + (*bandwidth)->in = g_new0(virNetDevBandwidthRate, 1); + (*bandwidth)->out = g_new0(virNetDevBandwidthRate, 1); if (shapingPolicy->averageBandwidth) { /* Scale bits per second to kilobytes per second */ @@ -655,8 +654,7 @@ esxNetworkGetXMLDesc(virNetworkPtr network_, unsigned int flags) if (esxVI_EnsureSession(priv->primary) < 0) return NULL; - if (VIR_ALLOC(def) < 0) - goto cleanup; + def = g_new0(virNetworkDef, 1); /* Lookup HostVirtualSwitch */ if (esxVI_LookupHostVirtualSwitchByName(priv->primary, network_->name, @@ -682,9 +680,7 @@ esxNetworkGetXMLDesc(virNetworkPtr network_, unsigned int flags) if (count > 0) { def->forward.type = VIR_NETWORK_FORWARD_BRIDGE; - - if (VIR_ALLOC_N(def->forward.ifs, count) < 0) - goto cleanup; + def->forward.ifs = g_new0(virNetworkForwardIfDef, count); /* Find PhysicalNic by key */ if (esxVI_LookupPhysicalNicList(priv->primary, &physicalNicList) < 0) @@ -726,8 +722,7 @@ esxNetworkGetXMLDesc(virNetworkPtr network_, unsigned int flags) } if (count > 0) { - if (VIR_ALLOC_N(def->portGroups, count) < 0) - goto cleanup; + def->portGroups = g_new0(virPortGroupDef, count); /* Lookup Network list and create name list */ if (esxVI_String_AppendValueToList(&propertyNameList, "name") < 0 || diff --git a/src/esx/esx_storage_backend_iscsi.c b/src/esx/esx_storage_backend_iscsi.c index 017b800f06..edbc65f5c0 100644 --- a/src/esx/esx_storage_backend_iscsi.c +++ b/src/esx/esx_storage_backend_iscsi.c @@ -337,8 +337,7 @@ esxStoragePoolGetXMLDesc(virStoragePoolPtr pool, unsigned int flags) def.source.nhost = 1; - if (VIR_ALLOC_N(def.source.hosts, def.source.nhost) < 0) - goto cleanup; + def.source.hosts = g_new0(virStoragePoolSourceHost, def.source.nhost); def.source.hosts[0].name = target->address; diff --git a/src/esx/esx_storage_backend_vmfs.c b/src/esx/esx_storage_backend_vmfs.c index a98001d6b2..e397853bf7 100644 --- a/src/esx/esx_storage_backend_vmfs.c +++ b/src/esx/esx_storage_backend_vmfs.c @@ -512,8 +512,7 @@ esxStoragePoolGetXMLDesc(virStoragePoolPtr pool, unsigned int flags) if (esxVI_LocalDatastoreInfo_DynamicCast(info)) { def.type = VIR_STORAGE_POOL_DIR; } else if ((nasInfo = esxVI_NasDatastoreInfo_DynamicCast(info))) { - if (VIR_ALLOC_N(def.source.hosts, 1) < 0) - goto cleanup; + def.source.hosts = g_new0(virStoragePoolSourceHost, 1); def.type = VIR_STORAGE_POOL_NETFS; def.source.nhost = 1; def.source.hosts[0].name = nasInfo->nas->remoteHost; @@ -1016,8 +1015,7 @@ esxStorageVolCreateXML(virStoragePoolPtr pool, } if (priv->primary->hasQueryVirtualDiskUuid) { - if (VIR_ALLOC_N(key, VIR_UUID_STRING_BUFLEN) < 0) - goto cleanup; + key = g_new0(char, VIR_UUID_STRING_BUFLEN); if (esxVI_QueryVirtualDiskUuid(priv->primary, datastorePath, priv->primary->datacenter->_reference, @@ -1196,7 +1194,7 @@ esxStorageVolCreateXMLFrom(virStoragePoolPtr pool, } if (priv->primary->hasQueryVirtualDiskUuid) { - if (VIR_ALLOC_N(key, VIR_UUID_STRING_BUFLEN) < 0) + key = g_new0(char, VIR_UUID_STRING_BUFLEN); goto cleanup; if (esxVI_QueryVirtualDiskUuid(priv->primary, datastorePath, diff --git a/src/esx/esx_stream.c b/src/esx/esx_stream.c index fe3c42ae02..2e7f979e79 100644 --- a/src/esx/esx_stream.c +++ b/src/esx/esx_stream.c @@ -132,8 +132,7 @@ esxVI_CURL_WriteStream(char *input, size_t size, size_t nmemb, void *userdata) priv->backlog_size = input_remaining; priv->backlog_used = 0; - if (VIR_ALLOC_N(priv->backlog, priv->backlog_size) < 0) - return 0; + priv->backlog = g_new0(char, priv->backlog_size); } else if (input_remaining > backlog_remaining) { priv->backlog_size += input_remaining - backlog_remaining; @@ -409,8 +408,7 @@ esxStreamOpen(virStreamPtr stream, esxPrivate *priv, const char *url, return -1; } - if (VIR_ALLOC(streamPriv) < 0) - return -1; + streamPriv = g_new0(esxStreamPrivate, 1); streamPriv->mode = mode; diff --git a/src/esx/esx_util.c b/src/esx/esx_util.c index cd3d8925b9..9100873326 100644 --- a/src/esx/esx_util.c +++ b/src/esx/esx_util.c @@ -49,8 +49,7 @@ esxUtil_ParseUri(esxUtil_ParsedUri **parsedUri, virURIPtr uri) ESX_VI_CHECK_ARG_LIST(parsedUri); - if (VIR_ALLOC(*parsedUri) < 0) - return -1; + *parsedUri = g_new0(esxUtil_ParsedUri, 1); for (i = 0; i < uri->paramsCount; i++) { virURIParamPtr queryParam = &uri->params[i]; diff --git a/src/esx/esx_vi.c b/src/esx/esx_vi.c index f099716d3e..c7af092569 100644 --- a/src/esx/esx_vi.c +++ b/src/esx/esx_vi.c @@ -53,8 +53,7 @@ VIR_LOG_INIT("esx.esx_vi"); { \ ESX_VI_CHECK_ARG_LIST(ptrptr); \ \ - if (VIR_ALLOC(*ptrptr) < 0) \ - return -1; \ + *ptrptr = g_new0(esxVI_##_type, 1); \ return 0; \ } @@ -182,8 +181,7 @@ esxVI_CURL_Debug(CURL *curl G_GNUC_UNUSED, curl_infotype type, * To handle this properly in order to pass the info string to VIR_DEBUG * a zero terminated copy of the info string has to be allocated. */ - if (VIR_ALLOC_N(buffer, size + 1) < 0) - return 0; + buffer = g_new0(char, size + 1); memcpy(buffer, info, size); buffer[size] = '\0'; @@ -861,8 +859,7 @@ esxVI_Context_Connect(esxVI_Context *ctx, const char *url, ctx->username = g_strdup(username); ctx->password = g_strdup(password); - if (VIR_ALLOC(ctx->sessionLock) < 0) - goto cleanup; + ctx->sessionLock = g_new0(virMutex, 1); if (virMutexInit(ctx->sessionLock) < 0) { @@ -3714,8 +3711,7 @@ esxVI_LookupStorageVolumeKeyByDatastorePath(esxVI_Context *ctx, goto cleanup; } - if (VIR_ALLOC_N(*key, VIR_UUID_STRING_BUFLEN) < 0) - goto cleanup; + *key = g_new0(char, VIR_UUID_STRING_BUFLEN); if (esxUtil_ReformatUuid(uuid_string, *key) < 0) goto cleanup; diff --git a/src/esx/esx_vi_types.c b/src/esx/esx_vi_types.c index ad40ddf54b..6821587e44 100644 --- a/src/esx/esx_vi_types.c +++ b/src/esx/esx_vi_types.c @@ -44,8 +44,7 @@ VIR_LOG_INIT("esx.esx_vi_types"); { \ ESX_VI_CHECK_ARG_LIST(ptrptr); \ \ - if (VIR_ALLOC(*ptrptr) < 0) \ - return -1; \ + *ptrptr = g_new0(esxVI_##__type, 1); \ \ (*ptrptr)->_type = esxVI_Type_##__type; \ \ -- 2.26.2

On Fri, Sep 25, 2020 at 15:16:08 +0200, Ján Tomko wrote:
Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/esx/esx_driver.c | 14 +++++--------- src/esx/esx_network_driver.c | 17 ++++++----------- src/esx/esx_storage_backend_iscsi.c | 3 +-- src/esx/esx_storage_backend_vmfs.c | 8 +++----- src/esx/esx_stream.c | 6 ++---- src/esx/esx_util.c | 3 +-- src/esx/esx_vi.c | 12 ++++-------- src/esx/esx_vi_types.c | 3 +-- 8 files changed, 23 insertions(+), 43 deletions(-)
Reviewed-by: Peter Krempa <pkrempa@redhat.com>

Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/hyperv/hyperv_driver.c | 13 +++++-------- src/hyperv/hyperv_util.c | 3 +-- src/hyperv/hyperv_wmi.c | 13 +++---------- 3 files changed, 9 insertions(+), 20 deletions(-) diff --git a/src/hyperv/hyperv_driver.c b/src/hyperv/hyperv_driver.c index 9b181ebfff..b57325f2a5 100644 --- a/src/hyperv/hyperv_driver.c +++ b/src/hyperv/hyperv_driver.c @@ -128,8 +128,7 @@ hypervConnectOpen(virConnectPtr conn, virConnectAuthPtr auth, virCheckFlags(VIR_CONNECT_RO, VIR_DRV_OPEN_ERROR); /* Allocate per-connection private data */ - if (VIR_ALLOC(priv) < 0) - goto cleanup; + priv = g_new0(hypervPrivate, 1); if (hypervParseUri(&priv->parsedUri, conn->uri) < 0) goto cleanup; @@ -1221,8 +1220,8 @@ hypervConnectListAllDomains(virConnectPtr conn, !MATCH(VIR_CONNECT_LIST_DOMAINS_NO_AUTOSTART)) || (MATCH(VIR_CONNECT_LIST_DOMAINS_HAS_SNAPSHOT) && !MATCH(VIR_CONNECT_LIST_DOMAINS_NO_SNAPSHOT))) { - if (domains && VIR_ALLOC_N(*domains, 1) < 0) - goto cleanup; + if (domains) + *domains = g_new0(virDomainPtr, 1); ret = 0; goto cleanup; @@ -1251,8 +1250,7 @@ hypervConnectListAllDomains(virConnectPtr conn, goto cleanup; if (domains) { - if (VIR_ALLOC_N(doms, 1) < 0) - goto cleanup; + doms = g_new0(virDomainPtr, 1); ndoms = 1; } @@ -1357,8 +1355,7 @@ hypervDomainSendKey(virDomainPtr domain, unsigned int codeset, if (hypervGetMsvmKeyboardList(priv, &query, &keyboard) < 0) goto cleanup; - if (VIR_ALLOC_N(translatedKeycodes, nkeycodes) < 0) - goto cleanup; + translatedKeycodes = g_new0(int, nkeycodes); /* translate keycodes to win32 and generate keyup scancodes. */ for (i = 0; i < nkeycodes; i++) { diff --git a/src/hyperv/hyperv_util.c b/src/hyperv/hyperv_util.c index 2425d6a0c6..56c9e8bebd 100644 --- a/src/hyperv/hyperv_util.c +++ b/src/hyperv/hyperv_util.c @@ -45,8 +45,7 @@ hypervParseUri(hypervParsedUri **parsedUri, virURIPtr uri) return -1; } - if (VIR_ALLOC(*parsedUri) < 0) - return -1; + *parsedUri = g_new0(hypervParsedUri, 1); for (i = 0; i < uri->paramsCount; i++) { virURIParamPtr queryParam = &uri->params[i]; diff --git a/src/hyperv/hyperv_wmi.c b/src/hyperv/hyperv_wmi.c index 917298d027..809f68a844 100644 --- a/src/hyperv/hyperv_wmi.c +++ b/src/hyperv/hyperv_wmi.c @@ -176,14 +176,9 @@ hypervCreateInvokeParamsList(hypervPrivate *priv, const char *method, if (hypervGetWmiClassInfo(priv, obj, &info) < 0) return NULL; - if (VIR_ALLOC(params) < 0) - return NULL; + params = g_new0(hypervInvokeParamsList, 1); - if (VIR_ALLOC_N(params->params, - HYPERV_DEFAULT_PARAM_COUNT) < 0) { - VIR_FREE(params); - return NULL; - } + params->params = g_new0(hypervParam, HYPERV_DEFAULT_PARAM_COUNT); params->method = method; params->ns = info->rootUri; @@ -1052,9 +1047,7 @@ hypervEnumAndPull(hypervPrivate *priv, hypervWqlQueryPtr wqlQuery, goto cleanup; } - if (VIR_ALLOC(object) < 0) - goto cleanup; - + object = g_new0(hypervObject, 1); object->info = wmiInfo; object->data.common = data; -- 2.26.2

On Fri, Sep 25, 2020 at 15:16:09 +0200, Ján Tomko wrote:
Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/hyperv/hyperv_driver.c | 13 +++++-------- src/hyperv/hyperv_util.c | 3 +-- src/hyperv/hyperv_wmi.c | 13 +++---------- 3 files changed, 9 insertions(+), 20 deletions(-)
Reviewed-by: Peter Krempa <pkrempa@redhat.com>

Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/interface/interface_backend_netcf.c | 16 ++++++---------- src/interface/interface_backend_udev.c | 22 ++++++++-------------- 2 files changed, 14 insertions(+), 24 deletions(-) diff --git a/src/interface/interface_backend_netcf.c b/src/interface/interface_backend_netcf.c index f30829442d..df04484c59 100644 --- a/src/interface/interface_backend_netcf.c +++ b/src/interface/interface_backend_netcf.c @@ -247,8 +247,7 @@ netcfGetMinimalDefForDevice(struct netcf_if *iface) virInterfaceDef *def; /* Allocate our interface definition structure */ - if (VIR_ALLOC(def) < 0) - return NULL; + def = g_new0(virInterfaceDef, 1); def->name = g_strdup(ncf_if_name(iface)); def->mac = g_strdup(ncf_if_mac_string(iface)); @@ -375,8 +374,7 @@ static int netcfConnectNumOfInterfacesImpl(virConnectPtr conn, goto cleanup; } - if (VIR_ALLOC_N(names, count) < 0) - goto cleanup; + names = g_new0(char *, count); if ((count = ncf_list_interfaces(driver->netcf, count, names, status)) < 0) { const char *errmsg, *details; @@ -465,8 +463,7 @@ static int netcfConnectListInterfacesImpl(virConnectPtr conn, goto cleanup; } - if (VIR_ALLOC_N(allnames, count) < 0) - goto cleanup; + allnames = g_new0(char *, count); if ((count = ncf_list_interfaces(driver->netcf, count, allnames, status)) < 0) { const char *errmsg, *details; @@ -651,8 +648,7 @@ netcfConnectListAllInterfaces(virConnectPtr conn, goto cleanup; } - if (VIR_ALLOC_N(names, count) < 0) - goto cleanup; + names = g_new0(char *, count); if ((count = ncf_list_interfaces(driver->netcf, count, names, ncf_flags)) < 0) { @@ -666,8 +662,8 @@ netcfConnectListAllInterfaces(virConnectPtr conn, goto cleanup; } - if (ifaces && VIR_ALLOC_N(tmp_iface_objs, count + 1) < 0) - goto cleanup; + if (ifaces) + tmp_iface_objs = g_new0(virInterfacePtr, count + 1); for (i = 0; i < count; i++) { virInterfaceDefPtr def; diff --git a/src/interface/interface_backend_udev.c b/src/interface/interface_backend_udev.c index 670de48d52..4e0a80765c 100644 --- a/src/interface/interface_backend_udev.c +++ b/src/interface/interface_backend_udev.c @@ -86,8 +86,7 @@ udevGetMinimalDefForDevice(struct udev_device *dev) virInterfaceDef *def; /* Allocate our interface definition structure */ - if (VIR_ALLOC(def) < 0) - return NULL; + def = g_new0(virInterfaceDef, 1); def->name = g_strdup(udev_device_get_sysname(dev)); def->mac = g_strdup(udev_device_get_sysattr_value(dev, "address")); @@ -352,10 +351,8 @@ udevConnectListAllInterfaces(virConnectPtr conn, } /* If we're asked for the ifaces then alloc up memory */ - if (ifaces && VIR_ALLOC_N(ifaces_list, count + 1) < 0) { - ret = -1; - goto cleanup; - } + if (ifaces) + ifaces_list = g_new0(virInterfacePtr, count + 1); /* Get a list we can walk */ devices = udev_enumerate_get_list_entry(enumerate); @@ -758,8 +755,8 @@ udevGetIfaceDefBond(struct udev *udev, } /* Allocate our list of slave devices */ - if (VIR_ALLOC_N(ifacedef->data.bond.itf, slave_count) < 0) - goto error; + ifacedef->data.bond.itf = g_new0(struct _virInterfaceDef *, + slave_count); ifacedef->data.bond.nbItf = slave_count; for (i = 0; i < slave_count; i++) { @@ -873,8 +870,7 @@ udevGetIfaceDefBridge(struct udev *udev, } /* Allocate our list of member devices */ - if (VIR_ALLOC_N(ifacedef->data.bridge.itf, member_count) < 0) - goto error; + ifacedef->data.bridge.itf = g_new0(struct _virInterfaceDef *, member_count); ifacedef->data.bridge.nbItf = member_count; /* Get the interface definitions for each member of the bridge */ @@ -976,8 +972,7 @@ udevGetIfaceDef(struct udev *udev, const char *name) const char *devtype; /* Allocate our interface definition structure */ - if (VIR_ALLOC(ifacedef) < 0) - return NULL; + ifacedef = g_new0(virInterfaceDef, 1); /* Clear our structure and set safe defaults */ ifacedef->startmode = VIR_INTERFACE_START_UNSPECIFIED; @@ -1158,8 +1153,7 @@ udevStateInitialize(bool privileged, return -1; } - if (VIR_ALLOC(driver) < 0) - goto cleanup; + driver = g_new0(struct udev_iface_driver, 1); driver->lockFD = -1; -- 2.26.2

On Fri, Sep 25, 2020 at 15:16:10 +0200, Ján Tomko wrote:
Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/interface/interface_backend_netcf.c | 16 ++++++---------- src/interface/interface_backend_udev.c | 22 ++++++++-------------- 2 files changed, 14 insertions(+), 24 deletions(-)
Reviewed-by: Peter Krempa <pkrempa@redhat.com>

Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/libvirt-stream.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/libvirt-stream.c b/src/libvirt-stream.c index aeb7562018..873d7b1d4e 100644 --- a/src/libvirt-stream.c +++ b/src/libvirt-stream.c @@ -588,8 +588,7 @@ virStreamSendAll(virStreamPtr stream, goto cleanup; } - if (VIR_ALLOC_N(bytes, want) < 0) - goto cleanup; + bytes = g_new0(char, want); errno = 0; for (;;) { @@ -724,8 +723,7 @@ int virStreamSparseSendAll(virStreamPtr stream, goto cleanup; } - if (VIR_ALLOC_N(bytes, bufLen) < 0) - goto cleanup; + bytes = g_new0(char, bufLen); errno = 0; for (;;) { @@ -859,8 +857,7 @@ virStreamRecvAll(virStreamPtr stream, } - if (VIR_ALLOC_N(bytes, want) < 0) - goto cleanup; + bytes = g_new0(char, want); errno = 0; for (;;) { @@ -977,8 +974,7 @@ virStreamSparseRecvAll(virStreamPtr stream, goto cleanup; } - if (VIR_ALLOC_N(bytes, want) < 0) - goto cleanup; + bytes = g_new0(char, want); errno = 0; for (;;) { -- 2.26.2

On Fri, Sep 25, 2020 at 15:16:11 +0200, Ján Tomko wrote:
Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/libvirt-stream.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-)
Reviewed-by: Peter Krempa <pkrempa@redhat.com>

Check whether the alloc result is negative (which is cannot happen with current code) to reduce churn in the following commit. Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/storage/storage_backend_scsi.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/storage/storage_backend_scsi.c b/src/storage/storage_backend_scsi.c index e528d7622c..b5866935d1 100644 --- a/src/storage/storage_backend_scsi.c +++ b/src/storage/storage_backend_scsi.c @@ -329,16 +329,17 @@ createVport(virStoragePoolDefPtr def, * retry logic set to true. If the thread isn't created, then no big * deal since it's still possible to refresh the pool later. */ - if (VIR_ALLOC(cbdata) == 0) { - memcpy(cbdata->pool_uuid, def->uuid, VIR_UUID_BUFLEN); - cbdata->fchost_name = g_steal_pointer(&name); + if (VIR_ALLOC(cbdata) < 0) + return -1; - if (virThreadCreateFull(&thread, false, virStoragePoolFCRefreshThread, - "scsi-refresh", false, cbdata) < 0) { - /* Oh well - at least someone can still refresh afterwards */ - VIR_DEBUG("Failed to create FC Pool Refresh Thread"); - virStoragePoolFCRefreshDataFree(cbdata); - } + memcpy(cbdata->pool_uuid, def->uuid, VIR_UUID_BUFLEN); + cbdata->fchost_name = g_steal_pointer(&name); + + if (virThreadCreateFull(&thread, false, virStoragePoolFCRefreshThread, + "scsi-refresh", false, cbdata) < 0) { + /* Oh well - at least someone can still refresh afterwards */ + VIR_DEBUG("Failed to create FC Pool Refresh Thread"); + virStoragePoolFCRefreshDataFree(cbdata); } return 0; -- 2.26.2

On Fri, Sep 25, 2020 at 15:16:12 +0200, Ján Tomko wrote:
Check whether the alloc result is negative (which is cannot happen with current code) to reduce churn in the following commit.
Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/storage/storage_backend_scsi.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-)
Reviewed-by: Peter Krempa <pkrempa@redhat.com>

Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/storage/storage_backend_disk.c | 6 ++-- src/storage/storage_backend_fs.c | 8 ++--- src/storage/storage_backend_gluster.c | 12 +++----- src/storage/storage_backend_iscsi.c | 8 ++--- src/storage/storage_backend_iscsi_direct.c | 13 ++++----- src/storage/storage_backend_logical.c | 6 ++-- src/storage/storage_backend_mpath.c | 3 +- src/storage/storage_backend_rbd.c | 29 +++++++----------- src/storage/storage_backend_scsi.c | 4 +-- src/storage/storage_backend_sheepdog.c | 3 +- src/storage/storage_backend_zfs.c | 3 +- src/storage/storage_driver.c | 14 +++------ src/storage/storage_file_fs.c | 3 +- src/storage/storage_file_gluster.c | 6 ++-- src/storage/storage_util.c | 34 ++++++++-------------- 15 files changed, 52 insertions(+), 100 deletions(-) diff --git a/src/storage/storage_backend_disk.c b/src/storage/storage_backend_disk.c index ec0679d353..af90f3fc45 100644 --- a/src/storage/storage_backend_disk.c +++ b/src/storage/storage_backend_disk.c @@ -74,8 +74,7 @@ virStorageBackendDiskMakeDataVol(virStoragePoolObjPtr pool, * we're discovering the existing partitions for the pool */ addVol = true; - if (VIR_ALLOC(vol) < 0) - return -1; + vol = g_new0(virStorageVolDef, 1); vol->name = g_strdup(partname); } @@ -132,8 +131,7 @@ virStorageBackendDiskMakeDataVol(virStoragePoolObjPtr pool, } if (vol->source.extents == NULL) { - if (VIR_ALLOC(vol->source.extents) < 0) - goto error; + vol->source.extents = g_new0(virStorageVolSourceExtent, 1); vol->source.nextent = 1; if (virStrToLong_ull(groups[3], NULL, 10, diff --git a/src/storage/storage_backend_fs.c b/src/storage/storage_backend_fs.c index 30c2367df4..b98d06c644 100644 --- a/src/storage/storage_backend_fs.c +++ b/src/storage/storage_backend_fs.c @@ -76,8 +76,7 @@ virStorageBackendFileSystemNetFindPoolSourcesFunc(char **const groups, if (!(src = virStoragePoolSourceListNewSource(&state->list))) return -1; - if (VIR_ALLOC_N(src->hosts, 1) < 0) - return -1; + src->hosts = g_new0(virStoragePoolSourceHost, 1); src->nhost = 1; src->hosts[0].name = g_strdup(state->host); @@ -576,9 +575,8 @@ virStoragePoolDefFSNamespaceParse(xmlXPathContextPtr ctxt, if (nnodes == 0) return 0; - if (VIR_ALLOC(cmdopts) < 0 || - VIR_ALLOC_N(cmdopts->options, nnodes) < 0) - goto cleanup; + cmdopts = g_new0(virStoragePoolFSMountOptionsDef, 1); + cmdopts->options = g_new0(char *, nnodes); for (i = 0; i < nnodes; i++) { if (!(cmdopts->options[cmdopts->noptions] = diff --git a/src/storage/storage_backend_gluster.c b/src/storage/storage_backend_gluster.c index 4763a569e3..6c99c270da 100644 --- a/src/storage/storage_backend_gluster.c +++ b/src/storage/storage_backend_gluster.c @@ -97,16 +97,14 @@ virStorageBackendGlusterOpen(virStoragePoolObjPtr pool) trailing_slash = false; } - if (VIR_ALLOC(ret) < 0) - return NULL; + ret = g_new0(virStorageBackendGlusterState, 1); ret->volname = g_strdup(name); ret->dir = g_strdup_printf("%s%s", dir ? dir : "/", trailing_slash ? "" : "/"); /* FIXME: Currently hard-coded to tcp transport; XML needs to be * extended to allow alternate transport */ - if (VIR_ALLOC(ret->uri) < 0) - goto error; + ret->uri = g_new0(virURI, 1); ret->uri->scheme = g_strdup("gluster"); ret->uri->server = g_strdup(def->source.hosts[0].name); ret->uri->path = g_strdup_printf("/%s%s", ret->volname, ret->dir); @@ -151,8 +149,7 @@ virStorageBackendGlusterRead(glfs_fd_t *fd, char *s; size_t nread = 0; - if (VIR_ALLOC_N(*buf, len) < 0) - return -1; + *buf = g_new0(char, len); s = *buf; while (len) { @@ -245,8 +242,7 @@ virStorageBackendGlusterRefreshVol(virStorageBackendGlusterStatePtr state, return ret; } - if (VIR_ALLOC(vol) < 0) - goto cleanup; + vol = g_new0(virStorageVolDef, 1); if (virStorageBackendUpdateVolTargetInfoFD(&vol->target, -1, st) < 0) goto cleanup; diff --git a/src/storage/storage_backend_iscsi.c b/src/storage/storage_backend_iscsi.c index 32892e1d75..436d5e09c7 100644 --- a/src/storage/storage_backend_iscsi.c +++ b/src/storage/storage_backend_iscsi.c @@ -189,13 +189,11 @@ virStorageBackendISCSIFindPoolSources(const char *srcSpec, &ntargets, &targets) < 0) goto cleanup; - if (VIR_ALLOC_N(list.sources, ntargets) < 0) - goto cleanup; + list.sources = g_new0(virStoragePoolSource, ntargets); for (i = 0; i < ntargets; i++) { - if (VIR_ALLOC_N(list.sources[i].devices, 1) < 0 || - VIR_ALLOC_N(list.sources[i].hosts, 1) < 0) - goto cleanup; + list.sources[i].devices = g_new0(virStoragePoolSourceDevice, 1); + list.sources[i].hosts = g_new0(virStoragePoolSourceHost, 1); list.sources[i].nhost = 1; list.sources[i].hosts[0] = source->hosts[0]; list.sources[i].initiator = source->initiator; diff --git a/src/storage/storage_backend_iscsi_direct.c b/src/storage/storage_backend_iscsi_direct.c index 027fa83de7..66ceb48e6a 100644 --- a/src/storage/storage_backend_iscsi_direct.c +++ b/src/storage/storage_backend_iscsi_direct.c @@ -309,8 +309,7 @@ virISCSIDirectRefreshVol(virStoragePoolObjPtr pool, if (virISCSIDirectTestUnitReady(iscsi, lun) < 0) return -1; - if (VIR_ALLOC(vol) < 0) - return -1; + vol = g_new0(virStorageVolDef, 1); vol->type = VIR_STORAGE_VOL_NETWORK; @@ -518,13 +517,11 @@ virStorageBackendISCSIDirectFindPoolSources(const char *srcSpec, if (virISCSIDirectScanTargets(source->initiator.iqn, portal, &ntargets, &targets) < 0) goto cleanup; - if (VIR_ALLOC_N(list.sources, ntargets) < 0) - goto cleanup; + list.sources = g_new0(virStoragePoolSource, ntargets); for (i = 0; i < ntargets; i++) { - if (VIR_ALLOC_N(list.sources[i].devices, 1) < 0 || - VIR_ALLOC_N(list.sources[i].hosts, 1) < 0) - goto cleanup; + list.sources[i].devices = g_new0(virStoragePoolSourceDevice, 1); + list.sources[i].hosts = g_new0(virStoragePoolSourceHost, 1); list.sources[i].nhost = 1; list.sources[i].hosts[0] = source->hosts[0]; list.sources[i].initiator = source->initiator; @@ -628,7 +625,7 @@ virStorageBackendISCSIDirectVolWipeZero(virStorageVolDefPtr vol, return ret; if (virISCSIDirectGetVolumeCapacity(iscsi, lun, &block_size, &nb_block)) return ret; - if (VIR_ALLOC_N(data, block_size * BLOCK_PER_PACKET)) + data = g_new0(unsigned char, block_size * BLOCK_PER_PACKET); return ret; while (lba < nb_block) { diff --git a/src/storage/storage_backend_logical.c b/src/storage/storage_backend_logical.c index e3debc390c..ead3dab4fd 100644 --- a/src/storage/storage_backend_logical.c +++ b/src/storage/storage_backend_logical.c @@ -161,8 +161,7 @@ virStorageBackendLogicalParseVolExtents(virStorageVolDefPtr vol, } /* Allocate space for 'nextents' regex_unit strings plus a comma for each */ - if (VIR_ALLOC_N(regex, nextents * (strlen(regex_unit) + 1) + 1) < 0) - goto cleanup; + regex = g_new0(char, nextents * (strlen(regex_unit) + 1) + 1); strcat(regex, regex_unit); for (i = 1; i < nextents; i++) { /* "," is the separator of "devices" field */ @@ -252,8 +251,7 @@ virStorageBackendLogicalMakeVol(char **const groups, /* Or a completely new volume */ if (vol == NULL) { - if (VIR_ALLOC(vol) < 0) - return -1; + vol = g_new0(virStorageVolDef, 1); is_new_vol = true; vol->type = VIR_STORAGE_VOL_BLOCK; diff --git a/src/storage/storage_backend_mpath.c b/src/storage/storage_backend_mpath.c index f474ab32a9..20e9b34bbf 100644 --- a/src/storage/storage_backend_mpath.c +++ b/src/storage/storage_backend_mpath.c @@ -49,8 +49,7 @@ virStorageBackendMpathNewVol(virStoragePoolObjPtr pool, virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool); g_autoptr(virStorageVolDef) vol = NULL; - if (VIR_ALLOC(vol) < 0) - return -1; + vol = g_new0(virStorageVolDef, 1); vol->type = VIR_STORAGE_VOL_BLOCK; diff --git a/src/storage/storage_backend_rbd.c b/src/storage/storage_backend_rbd.c index 09928fdc3c..1630d6eede 100644 --- a/src/storage/storage_backend_rbd.c +++ b/src/storage/storage_backend_rbd.c @@ -94,12 +94,10 @@ virStoragePoolDefRBDNamespaceParse(xmlXPathContextPtr ctxt, if (nnodes == 0) return 0; - if (VIR_ALLOC(cmdopts) < 0) - goto cleanup; + cmdopts = g_new0(virStoragePoolRBDConfigOptionsDef, 1); - if (VIR_ALLOC_N(cmdopts->names, nnodes) < 0 || - VIR_ALLOC_N(cmdopts->values, nnodes) < 0) - goto cleanup; + cmdopts->names = g_new0(char *, nnodes); + cmdopts->values = g_new0(char *, nnodes); for (i = 0; i < nnodes; i++) { if (!(cmdopts->names[cmdopts->noptions] = @@ -384,8 +382,7 @@ virStorageBackendRBDNewState(virStoragePoolObjPtr pool) virStorageBackendRBDStatePtr ptr; virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool); - if (VIR_ALLOC(ptr) < 0) - return NULL; + ptr = g_new0(virStorageBackendRBDState, 1); if (virStorageBackendRBDOpenRADOSConn(ptr, def) < 0) goto error; @@ -604,8 +601,7 @@ virStorageBackendRBDGetVolNames(virStorageBackendRBDStatePtr ptr) } } - if (VIR_ALLOC_N(names, nimages + 1) < 0) - goto error; + names = g_new0(char *, nimages + 1); nnames = nimages; for (i = 0; i < nimages; i++) @@ -633,8 +629,7 @@ virStorageBackendRBDGetVolNames(virStorageBackendRBDStatePtr ptr) const char *name; while (true) { - if (VIR_ALLOC_N(namebuf, max_size) < 0) - goto error; + namebuf = g_new0(char, max_size); rc = rbd_list(ptr->ioctx, namebuf, &max_size); if (rc >= 0) @@ -712,8 +707,7 @@ virStorageBackendRBDRefreshPool(virStoragePoolObjPtr pool) for (i = 0; names[i] != NULL; i++) { g_autoptr(virStorageVolDef) vol = NULL; - if (VIR_ALLOC(vol) < 0) - goto cleanup; + vol = g_new0(virStorageVolDef, 1); vol->name = g_steal_pointer(&names[i]); @@ -770,8 +764,7 @@ virStorageBackendRBDCleanupSnapshots(rados_ioctx_t ioctx, } do { - if (VIR_ALLOC_N(snaps, max_snaps)) - goto cleanup; + snaps = g_new0(rbd_snap_info_t, max_snaps); snap_count = rbd_snap_list(image, snaps, &max_snaps); if (snap_count <= 0) @@ -1028,8 +1021,7 @@ virStorageBackendRBDSnapshotFindNoDiff(rbd_image_t image, } do { - if (VIR_ALLOC_N(snaps, max_snaps)) - goto cleanup; + snaps = g_new0(rbd_snap_info_t, max_snaps); snap_count = rbd_snap_list(image, snaps, &max_snaps); if (snap_count <= 0) @@ -1320,8 +1312,7 @@ virStorageBackendRBDVolWipeZero(rbd_image_t image, unsigned long long length; g_autofree char *writebuf = NULL; - if (VIR_ALLOC_N(writebuf, info->obj_size * stripe_count) < 0) - return -1; + writebuf = g_new0(char, info->obj_size * stripe_count); while (offset < info->size) { length = MIN((info->size - offset), (info->obj_size * stripe_count)); diff --git a/src/storage/storage_backend_scsi.c b/src/storage/storage_backend_scsi.c index b5866935d1..69a01d1a24 100644 --- a/src/storage/storage_backend_scsi.c +++ b/src/storage/storage_backend_scsi.c @@ -329,9 +329,7 @@ createVport(virStoragePoolDefPtr def, * retry logic set to true. If the thread isn't created, then no big * deal since it's still possible to refresh the pool later. */ - if (VIR_ALLOC(cbdata) < 0) - return -1; - + cbdata = g_new0(virStoragePoolFCRefreshInfo, 1); memcpy(cbdata->pool_uuid, def->uuid, VIR_UUID_BUFLEN); cbdata->fchost_name = g_steal_pointer(&name); diff --git a/src/storage/storage_backend_sheepdog.c b/src/storage/storage_backend_sheepdog.c index f253c0ed57..12ff9f44d0 100644 --- a/src/storage/storage_backend_sheepdog.c +++ b/src/storage/storage_backend_sheepdog.c @@ -118,8 +118,7 @@ virStorageBackendSheepdogAddVolume(virStoragePoolObjPtr pool, const char *diskIn return -1; } - if (VIR_ALLOC(vol) < 0) - return -1; + vol = g_new0(virStorageVolDef, 1); vol->name = g_strdup(diskInfo); diff --git a/src/storage/storage_backend_zfs.c b/src/storage/storage_backend_zfs.c index dc692f47ed..4a89f98350 100644 --- a/src/storage/storage_backend_zfs.c +++ b/src/storage/storage_backend_zfs.c @@ -121,8 +121,7 @@ virStorageBackendZFSParseVol(virStoragePoolObjPtr pool, volume = vol; if (volume == NULL) { - if (VIR_ALLOC(volume) < 0) - goto cleanup; + volume = g_new0(virStorageVolDef, 1); is_new_vol = true; volume->type = VIR_STORAGE_VOL_BLOCK; diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c index 9e79dbe1e4..16bc53aa46 100644 --- a/src/storage/storage_driver.c +++ b/src/storage/storage_driver.c @@ -265,8 +265,7 @@ storageStateInitialize(bool privileged, return -1; } - if (VIR_ALLOC(driver) < 0) - return VIR_DRV_STATE_INIT_ERROR; + driver = g_new0(virStorageDriverState, 1); driver->lockFD = -1; if (virMutexInit(&driver->lock) < 0) { @@ -1956,10 +1955,7 @@ storageVolCreateXML(virStoragePoolPtr pool, int buildret; virStorageVolDefPtr buildvoldef = NULL; - if (VIR_ALLOC(buildvoldef) < 0) { - voldef = NULL; - goto cleanup; - } + buildvoldef = g_new0(virStorageVolDef, 1); /* Make a shallow copy of the 'defined' volume definition, since the * original allocation value will change as the user polls 'info', @@ -2143,8 +2139,7 @@ storageVolCreateXMLFrom(virStoragePoolPtr pool, * original allocation value will change as the user polls 'info', * but we only need the initial requested values */ - if (VIR_ALLOC(shadowvol) < 0) - goto cleanup; + shadowvol = g_new0(virStorageVolDef, 1); memcpy(shadowvol, voldef, sizeof(*voldef)); @@ -2428,8 +2423,7 @@ storageVolUpload(virStorageVolPtr vol, * interaction and we can just lookup the backend in the callback * routine in order to call the refresh API. */ - if (VIR_ALLOC(cbdata) < 0) - goto cleanup; + cbdata = g_new0(virStorageVolStreamInfo, 1); cbdata->pool_name = g_strdup(def->name); if (voldef->type == VIR_STORAGE_VOL_PLOOP) cbdata->vol_path = g_strdup(voldef->target.path); diff --git a/src/storage/storage_file_fs.c b/src/storage/storage_file_fs.c index 8d9023bead..b379a8ca8e 100644 --- a/src/storage/storage_file_fs.c +++ b/src/storage/storage_file_fs.c @@ -73,8 +73,7 @@ virStorageFileBackendFileInit(virStorageSourcePtr src) src->path, (unsigned int)src->drv->uid, (unsigned int)src->drv->gid); - if (VIR_ALLOC(priv) < 0) - return -1; + priv = g_new0(virStorageFileBackendFsPriv, 1); src->drv->priv = priv; diff --git a/src/storage/storage_file_gluster.c b/src/storage/storage_file_gluster.c index 608f93d2f6..c84af8a4e8 100644 --- a/src/storage/storage_file_gluster.c +++ b/src/storage/storage_file_gluster.c @@ -109,8 +109,7 @@ virStorageFileBackendGlusterInit(virStorageSourcePtr src) return -1; } - if (VIR_ALLOC(priv) < 0) - return -1; + priv = g_new0(virStorageFileBackendGlusterPriv, 1); VIR_DEBUG("initializing gluster storage file %p " "(priv='%p' volume='%s' path='%s') as [%u:%u]", @@ -209,8 +208,7 @@ virStorageFileBackendGlusterRead(virStorageSourcePtr src, } - if (VIR_ALLOC_N(*buf, len) < 0) - return -1; + *buf = g_new0(char, len); s = *buf; while (len) { diff --git a/src/storage/storage_util.c b/src/storage/storage_util.c index 7fc529046a..21ad54ac54 100644 --- a/src/storage/storage_util.c +++ b/src/storage/storage_util.c @@ -154,11 +154,9 @@ virStorageBackendCopyToFD(virStorageVolDefPtr vol, if (wbytes < WRITE_BLOCK_SIZE_DEFAULT) wbytes = WRITE_BLOCK_SIZE_DEFAULT; - if (VIR_ALLOC_N(zerobuf, wbytes) < 0) - return -errno; + zerobuf = g_new0(char, wbytes); - if (VIR_ALLOC_N(buf, rbytes) < 0) - return -errno; + buf = g_new0(char, rbytes); if (reflink_copy) { if (reflinkCloneFile(fd, inputfd) < 0) { @@ -1839,14 +1837,14 @@ virStorageBackendUpdateVolTargetInfoFD(virStorageSourcePtr target, if (virStorageSourceUpdateBackingSizes(target, fd, sb) < 0) return -1; - if (!target->perms && VIR_ALLOC(target->perms) < 0) - return -1; + if (!target->perms) + target->perms = g_new0(virStoragePerms, 1); target->perms->mode = sb->st_mode & S_IRWXUGO; target->perms->uid = sb->st_uid; target->perms->gid = sb->st_gid; - if (!target->timestamps && VIR_ALLOC(target->timestamps) < 0) - return -1; + if (!target->timestamps) + target->timestamps = g_new0(virStorageTimestamps, 1); #ifdef __APPLE__ target->timestamps->atime = sb->st_atimespec; @@ -2214,12 +2212,8 @@ storageBackendLoadDefaultSecrets(virStorageVolDefPtr vol) if (!sec) return 0; - if (VIR_ALLOC_N(vol->target.encryption->secrets, 1) < 0 || - VIR_ALLOC(encsec) < 0) { - VIR_FREE(vol->target.encryption->secrets); - virObjectUnref(sec); - return -1; - } + vol->target.encryption->secrets = g_new0(virStorageEncryptionSecretPtr, 1); + encsec = g_new0(virStorageEncryptionSecret, 1); vol->target.encryption->nsecrets = 1; vol->target.encryption->secrets[0] = encsec; @@ -2528,8 +2522,7 @@ storageBackendWipeLocal(const char *path, off_t size; g_autofree char *writebuf = NULL; - if (VIR_ALLOC_N(writebuf, writebuf_length) < 0) - return -1; + writebuf = g_new0(char, writebuf_length); if (!zero_end) { if ((size = lseek(fd, 0, SEEK_SET)) < 0) { @@ -2873,8 +2866,7 @@ virStorageUtilGlusterExtractPoolSources(const char *host, goto cleanup; } - if (VIR_ALLOC_N(src->hosts, 1) < 0) - goto cleanup; + src->hosts = g_new0(virStoragePoolSourceHost, 1); src->nhost = 1; src->hosts[0].name = g_strdup(host); @@ -3535,8 +3527,7 @@ virStorageBackendRefreshLocal(virStoragePoolObjPtr pool) continue; } - if (VIR_ALLOC(vol) < 0) - goto cleanup; + vol = g_new0(virStorageVolDef, 1); vol->name = g_strdup(ent->d_name); @@ -3671,8 +3662,7 @@ virStorageBackendSCSINewLun(virStoragePoolObjPtr pool, return -1; } - if (VIR_ALLOC(vol) < 0) - return -1; + vol = g_new0(virStorageVolDef, 1); vol->type = VIR_STORAGE_VOL_BLOCK; -- 2.26.2
participants (3)
-
Ján Tomko
-
Peter Krempa
-
Roman Bogorodskiy