flags)) < 0)
goto error;
- if (VIR_ALLOC_N(ret, ncheckpoints + 1) < 0)
- goto error;
+ ret = g_new0(char *, ncheckpoints + 1);
for (i = 0; i < ncheckpoints; i++) {
const char *name = virDomainCheckpointGetName(checkpoints[i]);
if ((ndomains = virConnectListAllDomains(priv->conn, &domains, flags)) < 0)
return NULL;
- if (VIR_ALLOC_N(tmp, ndomains + 1) < 0)
- goto cleanup;
+ tmp = g_new0(char *, ndomains + 1);
for (i = 0; i < ndomains; i++) {
const char *name = virDomainGetName(domains[i]);
ret = g_steal_pointer(&tmp);
- cleanup:
for (i = 0; i < ndomains; i++)
virshDomainFree(domains[i]);
g_free(domains);
if ((ndomains = virConnectListAllDomains(priv->conn, &domains, flags)) < 0)
return NULL;
- if (VIR_ALLOC_N(tmp, ndomains + 1) < 0)
- goto cleanup;
+ tmp = g_new0(char *, ndomains + 1);
for (i = 0; i < ndomains; i++) {
char uuid[VIR_UUID_STRING_BUFLEN];
if (ninterfaces < 0)
return NULL;
- if (VIR_ALLOC_N(tmp, ninterfaces + 1) < 0)
- return NULL;
+ tmp = g_new0(char *, ninterfaces + 1);
for (i = 0; i < ninterfaces; i++) {
ctxt->node = interfaces[i];
if (ndisks < 0)
return NULL;
- if (VIR_ALLOC_N(tmp, ndisks + 1) < 0)
- return NULL;
+ tmp = g_new0(char *, ndisks + 1);
for (i = 0; i < ndisks; i++) {
ctxt->node = disks[i];
virCheckFlags(0, NULL);
- if (VIR_ALLOC_N(tmp, VIR_DOMAIN_EVENT_ID_LAST + 1) < 0)
- return NULL;
+ tmp = g_new0(char *, VIR_DOMAIN_EVENT_ID_LAST + 1);
for (i = 0; i < VIR_DOMAIN_EVENT_ID_LAST; i++)
tmp[i] = g_strdup(virshDomainEventCallbacks[i].name);
ctxt->node = interfaces[0];
- if (VIR_ALLOC_N(tmp, 2) < 0)
- return NULL;
+ tmp = g_new0(char *, 2);
if ((state = virXPathString("string(./link/@state)", ctxt)) &&
STREQ(state, "down")) {
if (naliases < 0)
return NULL;
- if (VIR_ALLOC_N(tmp, naliases + 1) < 0)
- return NULL;
+ tmp = g_new0(char *, naliases + 1);
for (i = 0; i < naliases; i++) {
if (!(tmp[i] = virXMLNodeContentString(aliases[i])))
virCheckFlags(0, NULL);
- if (VIR_ALLOC_N(events, VIR_PERF_EVENT_LAST + 1) < 0)
- return NULL;
+ events = g_new0(char *, VIR_PERF_EVENT_LAST + 1);
for (i = 0; i < VIR_PERF_EVENT_LAST; i++)
events[i] = g_strdup(virPerfEventTypeToString(i));
virCheckFlags(0, NULL);
- if (VIR_ALLOC_N(events, VIR_PERF_EVENT_LAST + 1) < 0)
- return NULL;
+ events = g_new0(char *, VIR_PERF_EVENT_LAST + 1);
for (i = 0; i < VIR_PERF_EVENT_LAST; i++)
events[i] = g_strdup(virPerfEventTypeToString(i));
niothreads = rc;
- if (VIR_ALLOC_N(tmp, niothreads + 1) < 0)
- goto cleanup;
+ tmp = g_new0(char *, niothreads + 1);
for (i = 0; i < niothreads; i++)
tmp[i] = g_strdup_printf("%u", info[i]->iothread_id);
if (virXPathInt("string(/domain/vcpu)", ctxt, &nvcpus) < 0)
goto cleanup;
- if (VIR_ALLOC_N(tmp, nvcpus + 1) < 0)
- goto cleanup;
+ tmp = g_new0(char *, nvcpus + 1);
for (id = 0; id < nvcpus; id++)
tmp[id] = g_strdup_printf("%u", id);
if (virXPathInt("string(/domain/vcpu)", ctxt, &nvcpus) < 0)
goto cleanup;
- if (VIR_ALLOC_N(vcpulist, nvcpus + 1) < 0)
- goto cleanup;
+ vcpulist = g_new0(char *, nvcpus + 1);
for (id = 0; id < nvcpus; id++)
vcpulist[id] = g_strdup_printf("%u", id);
if ((cpunum = virNodeGetCPUMap(priv->conn, &cpumap, &online, 0)) < 0)
return NULL;
- if (VIR_ALLOC_N(cpulist, cpunum + 1) < 0)
- return NULL;
+ cpulist = g_new0(char *, cpunum + 1);
for (i = 0; i < cpunum; i++)
cpulist[i] = g_strdup_printf("%zu", i);
if (npages <= 0)
return NULL;
- if (VIR_ALLOC_N(tmp, npages + 1) < 0)
- return NULL;
+ tmp = g_new0(char *, npages + 1);
for (i = 0; i < npages; i++) {
if (!(tmp[i] = virshPagesizeNodeToString(pages[i])))
if (ncells <= 0)
return NULL;
- if (VIR_ALLOC_N(tmp, ncells + 1))
- return NULL;
+ tmp = g_new0(char *, ncells + 1);
for (i = 0; i < ncells; i++) {
if (!(tmp[i] = virXMLPropString(cells[i], "id")))
if ((nifaces = virConnectListAllInterfaces(priv->conn, &ifaces, flags)) < 0)
return NULL;
- if (VIR_ALLOC_N(tmp, nifaces + 1) < 0)
- goto cleanup;
+ tmp = g_new0(char *, nifaces + 1);
for (i = 0; i < nifaces; i++) {
const char *name = virInterfaceGetName(ifaces[i]);
ret = g_steal_pointer(&tmp);
- cleanup:
for (i = 0; i < nifaces; i++)
virInterfaceFree(ifaces[i]);
g_free(ifaces);
if ((nnets = virConnectListAllNetworks(priv->conn, &nets, flags)) < 0)
return NULL;
- if (VIR_ALLOC_N(tmp, nnets + 1) < 0)
- goto cleanup;
+ tmp = g_new0(char *, nnets + 1);
for (i = 0; i < nnets; i++) {
const char *name = virNetworkGetName(nets[i]);
ret = g_steal_pointer(&tmp);
- cleanup:
for (i = 0; i < nnets; i++)
virNetworkFree(nets[i]);
g_free(nets);
virCheckFlags(0, NULL);
- if (VIR_ALLOC_N(tmp, VIR_NETWORK_EVENT_ID_LAST + 1) < 0)
- return NULL;
+ tmp = g_new0(char *, VIR_NETWORK_EVENT_ID_LAST + 1);
for (i = 0; i < VIR_NETWORK_EVENT_ID_LAST; i++)
tmp[i] = g_strdup(virshNetworkEventCallbacks[i].name);
if ((nports = virNetworkListAllPorts(net, &ports, flags)) < 0)
return NULL;
- if (VIR_ALLOC_N(ret, nports + 1) < 0)
- goto error;
+ ret = g_new0(char *, nports + 1);
for (i = 0; i < nports; i++) {
char uuid[VIR_UUID_STRING_BUFLEN];
if ((nnets = virConnectListAllNetworks(priv->conn, &nets, flags)) < 0)
return NULL;
- if (VIR_ALLOC_N(tmp, nnets + 1) < 0)
- goto cleanup;
+ tmp = g_new0(char *, nnets + 1);
for (i = 0; i < nnets; i++) {
char uuid[VIR_UUID_STRING_BUFLEN];
if ((ndevs = virConnectListAllNodeDevices(priv->conn, &devs, flags)) < 0)
return NULL;
- if (VIR_ALLOC_N(tmp, ndevs + 1) < 0)
- goto cleanup;
+ tmp = g_new0(char *, ndevs + 1);
for (i = 0; i < ndevs; i++) {
const char *name = virNodeDeviceGetName(devs[i]);
ret = g_steal_pointer(&tmp);
- cleanup:
for (i = 0; i < ndevs; i++)
virNodeDeviceFree(devs[i]);
g_free(devs);
virCheckFlags(0, NULL);
- if (VIR_ALLOC_N(tmp, VIR_NODE_DEVICE_EVENT_ID_LAST + 1) < 0)
- return NULL;
+ tmp = g_new0(char *, VIR_NODE_DEVICE_EVENT_ID_LAST + 1);
for (i = 0; i < VIR_NODE_DEVICE_EVENT_ID_LAST; i++)
tmp[i] = g_strdup(virshNodeDeviceEventCallbacks[i].name);
if (vshCommandOptStringQuiet(ctl, cmd, "cap", &cap_str) < 0)
return NULL;
- if (VIR_ALLOC_N(tmp, VIR_NODE_DEV_CAP_LAST + 1) < 0)
- return NULL;
+ tmp = g_new0(char *, VIR_NODE_DEV_CAP_LAST + 1);
for (i = 0; i < VIR_NODE_DEV_CAP_LAST; i++)
tmp[i] = g_strdup(virNodeDevCapTypeToString(i));
if ((nnwfilters = virConnectListAllNWFilters(priv->conn, &nwfilters, flags)) < 0)
return NULL;
- if (VIR_ALLOC_N(tmp, nnwfilters + 1) < 0)
- goto cleanup;
+ tmp = g_new0(char *, nnwfilters + 1);
for (i = 0; i < nnwfilters; i++) {
const char *name = virNWFilterGetName(nwfilters[i]);
ret = g_steal_pointer(&tmp);
- cleanup:
for (i = 0; i < nnwfilters; i++)
virNWFilterFree(nwfilters[i]);
g_free(nwfilters);
if ((nbindings = virConnectListAllNWFilterBindings(priv->conn, &bindings, flags)) < 0)
return NULL;
- if (VIR_ALLOC_N(tmp, nbindings + 1) < 0)
- goto cleanup;
+ tmp = g_new0(char *, nbindings + 1);
for (i = 0; i < nbindings; i++) {
const char *name = virNWFilterBindingGetPortDev(bindings[i]);
ret = g_steal_pointer(&tmp);
- cleanup:
for (i = 0; i < nbindings; i++)
virNWFilterBindingFree(bindings[i]);
g_free(bindings);
if ((npools = virConnectListAllStoragePools(priv->conn, &pools, flags)) < 0)
return NULL;
- if (VIR_ALLOC_N(tmp, npools + 1) < 0)
- goto cleanup;
+ tmp = g_new0(char *, npools + 1);
for (i = 0; i < npools; i++) {
const char *name = virStoragePoolGetName(pools[i]);
ret = g_steal_pointer(&tmp);
- cleanup:
for (i = 0; i < npools; i++)
virStoragePoolFree(pools[i]);
g_free(pools);
virCheckFlags(0, NULL);
- if (VIR_ALLOC_N(tmp, VIR_STORAGE_POOL_EVENT_ID_LAST + 1) < 0)
- return NULL;
+ tmp = g_new0(char *, VIR_STORAGE_POOL_EVENT_ID_LAST + 1);
for (i = 0; i < VIR_STORAGE_POOL_EVENT_ID_LAST; i++)
tmp[i] = g_strdup(virshPoolEventCallbacks[i].name);
if (vshCommandOptStringQuiet(ctl, cmd, "type", &type_str) < 0)
return NULL;
- if (VIR_ALLOC_N(tmp, VIR_STORAGE_POOL_LAST + 1) < 0)
- return NULL;
+ tmp = g_new0(char *, VIR_STORAGE_POOL_LAST + 1);
for (i = 0; i < VIR_STORAGE_POOL_LAST; i++)
tmp[i] = g_strdup(virStoragePoolTypeToString(i));
if ((nsecrets = virConnectListAllSecrets(priv->conn, &secrets, flags)) < 0)
return NULL;
- if (VIR_ALLOC_N(tmp, nsecrets + 1) < 0)
- goto cleanup;
+ tmp = g_new0(char *, nsecrets + 1);
for (i = 0; i < nsecrets; i++) {
char uuid[VIR_UUID_STRING_BUFLEN];
virCheckFlags(0, NULL);
- if (VIR_ALLOC_N(tmp, VIR_SECRET_EVENT_ID_LAST + 1) < 0)
- return NULL;
+ tmp = g_new0(char *, VIR_SECRET_EVENT_ID_LAST + 1);
for (i = 0; i < VIR_SECRET_EVENT_ID_LAST; i++)
tmp[i] = g_strdup(virshSecretEventCallbacks[i].name);
goto cleanup;
nsnapshots = rc;
- if (VIR_ALLOC_N(tmp, nsnapshots + 1) < 0)
- goto cleanup;
+ tmp = g_new0(char *, nsnapshots + 1);
for (i = 0; i < nsnapshots; i++) {
const char *name = virDomainSnapshotGetName(snapshots[i]);
goto cleanup;
nvols = rc;
- if (VIR_ALLOC_N(tmp, nvols + 1) < 0)
- goto cleanup;
+ tmp = g_new0(char *, nvols + 1);
for (i = 0; i < nvols; i++) {
const char *name = virStorageVolGetName(vols[i]);
if (inputCopy && !(inputList = virStringSplit(inputCopy, ",", 0)))
return NULL;
- if (VIR_ALLOC_N(ret, optionsLen + 1) < 0)
- return NULL;
+ ret = g_new0(char *, optionsLen + 1);
for (i = 0; i < optionsLen; i++) {
if (virStringListHasString((const char **)inputList, options[i]))