Signed-off-by: Ján Tomko <jtomko@xxxxxxxxxx> --- src/libxl/libxl_capabilities.c | 13 ++-- src/libxl/libxl_conf.c | 48 ++++--------- src/libxl/libxl_domain.c | 19 ++--- src/libxl/libxl_driver.c | 20 +++--- src/libxl/libxl_migration.c | 21 ++---- src/libxl/xen_common.c | 122 +++++++++------------------------ src/libxl/xen_xl.c | 85 +++++++---------------- src/libxl/xen_xm.c | 9 +-- 8 files changed, 104 insertions(+), 233 deletions(-) diff --git a/src/libxl/libxl_capabilities.c b/src/libxl/libxl_capabilities.c index e5b144ea1d..e3472acb4b 100644 --- a/src/libxl/libxl_capabilities.c +++ b/src/libxl/libxl_capabilities.c @@ -269,11 +269,9 @@ libxlCapsInitNuma(libxl_ctx *ctx, virCapsPtr caps) } } - if (VIR_ALLOC_N(cpus, nr_nodes) < 0) - goto cleanup; + cpus = g_new0(virCapsHostNUMACellCPUPtr, nr_nodes); - if (VIR_ALLOC_N(nr_cpus_node, nr_nodes) < 0) - goto cleanup; + nr_cpus_node = g_new0(int, nr_nodes); /* For each node, prepare a list of CPUs belonging to that node */ for (i = 0; i < nr_cpus; i++) { @@ -285,7 +283,7 @@ libxlCapsInitNuma(libxl_ctx *ctx, virCapsPtr caps) nr_cpus_node[node]++; if (nr_cpus_node[node] == 1) { - if (VIR_ALLOC(cpus[node]) < 0) + cpus[node] = g_new0(virCapsHostNUMACellCPU, 1); goto cleanup; } else { if (VIR_REALLOC_N(cpus[node], nr_cpus_node[node]) < 0) @@ -328,7 +326,7 @@ libxlCapsInitNuma(libxl_ctx *ctx, virCapsPtr caps) if (nr_siblings) { size_t j; - if (VIR_ALLOC_N(siblings, nr_siblings) < 0) + siblings = g_new0(virCapsHostNUMACellSiblingInfo, nr_siblings); goto cleanup; for (j = 0; j < nr_siblings; j++) { @@ -590,8 +588,7 @@ libxlMakeDomainOSCaps(const char *machine, return 0; capsLoader->supported = VIR_TRISTATE_BOOL_YES; - if (VIR_ALLOC_N(capsLoader->values.values, nfirmwares) < 0) - return -1; + capsLoader->values.values = g_new0(char *, nfirmwares); for (i = 0; i < nfirmwares; i++) { capsLoader->values.values[capsLoader->values.nvalues] = g_strdup(firmwares[i]->name); diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c index 5b729a019a..03ec37d6c5 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c @@ -613,9 +613,7 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, return -1; } else { #ifdef LIBXL_HAVE_BUILDINFO_SERIAL_LIST - if (VIR_ALLOC_N(b_info->u.hvm.serial_list, def->nserials + 1) < - 0) - return -1; + b_info->u.hvm.serial_list = *g_new0(libxl_string_list, def->nserials + 1); for (i = 0; i < def->nserials; i++) { if (libxlMakeChrdevStr(def->serials[i], &b_info->u.hvm.serial_list[i]) < 0) @@ -826,8 +824,7 @@ libxlMakeVnumaList(virDomainDefPtr def, /* * allocate the vnuma_nodes for assignment under b_info. */ - if (VIR_ALLOC_N(vnuma_nodes, num_vnuma) < 0) - return -1; + vnuma_nodes = g_new0(libxl_vnode_info, num_vnuma); /* * parse the vnuma vnodes data. @@ -870,8 +867,7 @@ libxlMakeVnumaList(virDomainDefPtr def, libxl_bitmap_dispose(&vcpu_bitmap); /* vdistances */ - if (VIR_ALLOC_N(p->distances, num_vnuma) < 0) - goto cleanup; + p->distances = g_new0(uint32_t, num_vnuma); p->num_distances = num_vnuma; for (j = 0; j < num_vnuma; j++) @@ -1193,8 +1189,7 @@ libxlMakeDiskList(virDomainDefPtr def, libxl_domain_config *d_config) libxl_device_disk *x_disks; size_t i; - if (VIR_ALLOC_N(x_disks, ndisks) < 0) - return -1; + x_disks = g_new0(libxl_device_disk, ndisks); for (i = 0; i < ndisks; i++) { if (libxlMakeDisk(l_disks[i], &x_disks[i]) < 0) @@ -1464,8 +1459,7 @@ libxlMakeNicList(virDomainDefPtr def, libxl_domain_config *d_config) libxl_device_nic *x_nics; size_t i, nvnics = 0; - if (VIR_ALLOC_N(x_nics, nnics) < 0) - return -1; + x_nics = g_new0(libxl_device_nic, nnics); for (i = 0; i < nnics; i++) { if (virDomainNetGetActualType(l_nics[i]) == VIR_DOMAIN_NET_TYPE_HOSTDEV) @@ -1567,12 +1561,8 @@ libxlMakeVfbList(virPortAllocatorRangePtr graphicsports, if (nvfbs == 0) return 0; - if (VIR_ALLOC_N(x_vfbs, nvfbs) < 0) - return -1; - if (VIR_ALLOC_N(x_vkbs, nvfbs) < 0) { - VIR_FREE(x_vfbs); - return -1; - } + x_vfbs = g_new0(libxl_device_vfb, nvfbs); + x_vkbs = g_new0(libxl_device_vkb, nvfbs); for (i = 0; i < nvfbs; i++) { libxl_device_vkb_init(&x_vkbs[i]); @@ -1764,11 +1754,9 @@ libxlDriverConfigNew(void) goto error; #else - if (VIR_ALLOC_N(cfg->firmwares, 1) < 0) - goto error; + cfg->firmwares = g_new0(virFirmwarePtr, 1); cfg->nfirmwares = 1; - if (VIR_ALLOC(cfg->firmwares[0]) < 0) - goto error; + cfg->firmwares[0] = g_new0(virFirmware, 1); cfg->firmwares[0]->name = g_strdup(LIBXL_FIRMWARE_DIR "/ovmf.bin"); #endif @@ -1776,8 +1764,7 @@ libxlDriverConfigNew(void) if (VIR_REALLOC_N(cfg->firmwares, cfg->nfirmwares + 1) < 0) goto error; cfg->nfirmwares++; - if (VIR_ALLOC(cfg->firmwares[cfg->nfirmwares - 1]) < 0) - goto error; + cfg->firmwares[cfg->nfirmwares - 1] = g_new0(virFirmware, 1); cfg->firmwares[cfg->nfirmwares - 1]->name = g_strdup(LIBXL_FIRMWARE_DIR "/hvmloader"); /* defaults for keepalive messages */ @@ -2033,8 +2020,7 @@ libxlMakeChannelList(const char *channelDir, libxl_device_channel *x_channels; size_t i, nvchannels = 0; - if (VIR_ALLOC_N(x_channels, nchannels) < 0) - return -1; + x_channels = g_new0(libxl_device_channel, nchannels); for (i = 0; i < nchannels; i++) { if (l_channels[i]->deviceType != VIR_DOMAIN_CHR_DEVICE_TYPE_CHANNEL) @@ -2125,8 +2111,7 @@ libxlMakeDefaultUSBControllers(virDomainDefPtr def, /* Create USB controllers with 8 ports */ ncontrollers = VIR_DIV_UP(nusbdevs, 8); - if (VIR_ALLOC_N(x_controllers, ncontrollers) < 0) - return -1; + x_controllers = g_new0(libxl_device_usbctrl, ncontrollers); for (i = 0; i < ncontrollers; i++) { if (!(l_controller = virDomainControllerDefNew(VIR_DOMAIN_CONTROLLER_TYPE_USB))) @@ -2176,8 +2161,7 @@ libxlMakeUSBControllerList(virDomainDefPtr def, libxl_domain_config *d_config) if (nusbctrls == 0) return libxlMakeDefaultUSBControllers(def, d_config); - if (VIR_ALLOC_N(x_usbctrls, nusbctrls) < 0) - return -1; + x_usbctrls = g_new0(libxl_device_usbctrl, nusbctrls); for (i = 0, j = 0; i < ncontrollers && j < nusbctrls; i++) { if (l_controllers[i]->type != VIR_DOMAIN_CONTROLLER_TYPE_USB) @@ -2253,8 +2237,7 @@ libxlMakeUSBList(virDomainDefPtr def, libxl_domain_config *d_config) if (nhostdevs == 0) return 0; - if (VIR_ALLOC_N(x_usbdevs, nhostdevs) < 0) - return -1; + x_usbdevs = g_new0(libxl_device_usbdev, nhostdevs); for (i = 0, j = 0; i < nhostdevs; i++) { if (l_hostdevs[i]->mode != VIR_DOMAIN_HOSTDEV_MODE_SUBSYS) @@ -2316,8 +2299,7 @@ libxlMakePCIList(virDomainDefPtr def, libxl_domain_config *d_config) if (nhostdevs == 0) return 0; - if (VIR_ALLOC_N(x_pcidevs, nhostdevs) < 0) - return -1; + x_pcidevs = g_new0(libxl_device_pci, nhostdevs); for (i = 0, j = 0; i < nhostdevs; i++) { if (l_hostdevs[i]->mode != VIR_DOMAIN_HOSTDEV_MODE_SUBSYS) diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c index de2059fa24..a3f362a0c8 100644 --- a/src/libxl/libxl_domain.c +++ b/src/libxl/libxl_domain.c @@ -72,8 +72,7 @@ libxlDomainObjInitJob(libxlDomainObjPrivatePtr priv) if (virCondInit(&priv->job.cond) < 0) return -1; - if (VIR_ALLOC(priv->job.current) < 0) - return -1; + priv->job.current = g_new0(virDomainJobInfo, 1); return 0; } @@ -402,11 +401,7 @@ libxlDomainDefPostParse(virDomainDefPtr def, chrdef->target.port = 0; chrdef->targetType = VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_XEN; - if (VIR_ALLOC_N(def->consoles, 1) < 0) { - virDomainChrDefFree(chrdef); - return -1; - } - + def->consoles = g_new0(virDomainChrDefPtr, 1); def->nconsoles = 1; def->consoles[0] = chrdef; } @@ -429,8 +424,8 @@ libxlDomainDefPostParse(virDomainDefPtr def, /* add implicit balloon device */ if (def->memballoon == NULL) { virDomainMemballoonDefPtr memballoon; - if (VIR_ALLOC(memballoon) < 0) - return -1; + memballoon = g_new0(virDomainMemballoonDef, + 1); memballoon->model = VIR_DOMAIN_MEMBALLOON_MODEL_XEN; def->memballoon = memballoon; @@ -695,8 +690,7 @@ libxlDomainEventHandler(void *data, VIR_LIBXL_EVENT_CONST libxl_event *event) * Start a thread to handle shutdown. We don't want to be tying up * libxl's event machinery by doing a potentially lengthy shutdown. */ - if (VIR_ALLOC(shutdown_info) < 0) - goto error; + shutdown_info = g_new0(struct libxlShutdownThreadInfo, 1); shutdown_info->driver = driver; shutdown_info->event = (libxl_event *)event; @@ -785,8 +779,7 @@ libxlDomainSaveImageOpen(libxlDriverPrivatePtr driver, goto error; } - if (VIR_ALLOC_N(xml, hdr.xmlLen) < 0) - goto error; + xml = g_new0(char, hdr.xmlLen); if (saferead(fd, xml, hdr.xmlLen) != hdr.xmlLen) { virReportError(VIR_ERR_OPERATION_FAILED, "%s", _("failed to read XML")); diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c index 571b70f982..eece0f8118 100644 --- a/src/libxl/libxl_driver.c +++ b/src/libxl/libxl_driver.c @@ -159,8 +159,7 @@ libxlFDRegisterEventHook(void *priv, int vir_events = VIR_EVENT_HANDLE_ERROR; libxlOSEventHookInfoPtr info; - if (VIR_ALLOC(info) < 0) - return -1; + info = g_new0(libxlOSEventHookInfo, 1); info->ctx = priv; info->xl_priv = xl_priv; @@ -239,8 +238,7 @@ libxlTimeoutRegisterEventHook(void *priv, gint64 res_ms; int timeout; - if (VIR_ALLOC(info) < 0) - return -1; + info = g_new0(libxlOSEventHookInfo, 1); info->ctx = priv; info->xl_priv = xl_priv; @@ -671,8 +669,7 @@ libxlStateInitialize(bool privileged, if (!libxlDriverShouldLoad(privileged)) return VIR_DRV_STATE_INIT_SKIPPED; - if (VIR_ALLOC(libxl_driver) < 0) - return VIR_DRV_STATE_INIT_ERROR; + libxl_driver = g_new0(libxlDriverPrivate, 1); libxl_driver->lockFD = -1; if (virMutexInit(&libxl_driver->lock) < 0) { @@ -2316,8 +2313,7 @@ libxlDomainSetVcpusFlags(virDomainPtr dom, unsigned int nvcpus, goto endjob; maplen = VIR_CPU_MAPLEN(nvcpus); - if (VIR_ALLOC_N(bitmask, maplen) < 0) - goto endjob; + bitmask = g_new0(uint8_t, maplen); for (i = 0; i < nvcpus; ++i) { pos = i / 8; @@ -2766,7 +2762,7 @@ libxlConnectDomainXMLToNative(virConnectPtr conn, const char * nativeFormat, goto cleanup; } - if (VIR_ALLOC_N(ret, len) < 0) + ret = g_new0(char, len); goto cleanup; if (virConfWriteMem(ret, &len, conf) < 0) { @@ -6373,15 +6369,15 @@ libxlGetDHCPInterfaces(virDomainObjPtr vm, goto error; if (n_leases) { - ifaces_ret = g_renew(typeof(*ifaces_ret), ifaces_ret, ifaces_count + 1); - ifaces_ret[ifaces_count] = g_new0(typeof(**ifaces_ret), 1); + ifaces_ret = g_renew(virDomainInterfacePtr, ifaces_ret, ifaces_count + 1); + ifaces_ret[ifaces_count] = g_new0(virDomainInterface, 1); iface = ifaces_ret[ifaces_count]; ifaces_count++; /* Assuming each lease corresponds to a separate IP */ iface->naddrs = n_leases; - iface->addrs = g_new0(typeof(*iface->addrs), iface->naddrs); + iface->addrs = g_new0(virDomainIPAddress, iface->naddrs); iface->name = g_strdup(vm->def->nets[i]->ifname); iface->hwaddr = g_strdup(macaddr); } diff --git a/src/libxl/libxl_migration.c b/src/libxl/libxl_migration.c index 87cd5337ba..6dc6812ee7 100644 --- a/src/libxl/libxl_migration.c +++ b/src/libxl/libxl_migration.c @@ -92,8 +92,7 @@ libxlMigrationCookieNew(virDomainObjPtr dom) { libxlMigrationCookiePtr mig = NULL; - if (VIR_ALLOC(mig) < 0) - goto error; + mig = g_new0(libxlMigrationCookie, 1); mig->name = g_strdup(dom->def->name); @@ -160,8 +159,7 @@ libxlMigrationEatCookie(const char *cookiein, * specify a stream version. */ if (!cookiein || !cookieinlen) { - if (VIR_ALLOC(mig) < 0) - return -1; + mig = g_new0(libxlMigrationCookie, 1); mig->xenMigStreamVer = 1; *migout = mig; @@ -176,8 +174,7 @@ libxlMigrationEatCookie(const char *cookiein, VIR_DEBUG("cookielen=%d cookie='%s'", cookieinlen, NULLSTR(cookiein)); - if (VIR_ALLOC(mig) < 0) - return -1; + mig = g_new0(libxlMigrationCookie, 1); if (!(doc = virXMLParseStringCtxt(cookiein, _("(libxl_migration_cookie)"), @@ -313,8 +310,7 @@ libxlMigrateDstReceive(virNetSocketPtr sock, */ args->recvfd = recvfd; VIR_FREE(priv->migrationDstReceiveThr); - if (VIR_ALLOC(priv->migrationDstReceiveThr) < 0) - goto fail; + priv->migrationDstReceiveThr = g_new0(virThread, 1); name = g_strdup_printf("mig-%s", args->vm->def->name); if (virThreadCreateFull(priv->migrationDstReceiveThr, true, @@ -614,8 +610,7 @@ libxlDomainMigrationDstPrepareTunnel3(virConnectPtr dconn, mig = NULL; VIR_FREE(priv->migrationDstReceiveThr); - if (VIR_ALLOC(priv->migrationDstReceiveThr) < 0) - goto error; + priv->migrationDstReceiveThr = g_new0(virThread, 1); name = g_strdup_printf("mig-%s", args->vm->def->name); if (virThreadCreateFull(priv->migrationDstReceiveThr, true, libxlDoMigrateDstReceive, @@ -849,8 +844,7 @@ static void libxlTunnel3MigrationSrcFunc(void *arg) struct pollfd fds[1]; int timeout = -1; - if (VIR_ALLOC_N(buffer, TUNNEL_SEND_BUF_SIZE) < 0) - return; + buffer = g_new0(char, TUNNEL_SEND_BUF_SIZE); fds[0].fd = data->srcFD; for (;;) { @@ -920,8 +914,7 @@ libxlMigrationSrcStartTunnel(libxlDriverPrivatePtr driver, int ret = -1; g_autofree char *name = NULL; - if (VIR_ALLOC(tc) < 0) - goto out; + tc = g_new0(struct libxlTunnelControl, 1); *tnl = tc; tc->dataFD[0] = -1; diff --git a/src/libxl/xen_common.c b/src/libxl/xen_common.c index 56702a2a76..7b6a7b6e9f 100644 --- a/src/libxl/xen_common.c +++ b/src/libxl/xen_common.c @@ -253,8 +253,7 @@ xenConfigSetInt(virConfPtr conf, const char *setting, long long l) l, setting); return -1; } - if (VIR_ALLOC(value) < 0) - return -1; + value = g_new0(virConfValue, 1); value->type = VIR_CONF_LLONG; value->next = NULL; @@ -269,8 +268,7 @@ xenConfigSetString(virConfPtr conf, const char *setting, const char *str) { virConfValuePtr value = NULL; - if (VIR_ALLOC(value) < 0) - return -1; + value = g_new0(virConfValue, 1); value->type = VIR_CONF_STRING; value->next = NULL; @@ -554,10 +552,10 @@ xenParseHypervisorFeatures(virConfPtr conf, virDomainDefPtr def) return -1; if (strval) { - if (VIR_EXPAND_N(def->clock.timers, def->clock.ntimers, 1) < 0 || - VIR_ALLOC(timer) < 0) + if (VIR_EXPAND_N(def->clock.timers, def->clock.ntimers, 1) < 0) return -1; + timer = g_new0(virDomainTimerDef, 1); timer->name = VIR_DOMAIN_TIMER_NAME_TSC; timer->present = 1; timer->tickpolicy = -1; @@ -627,10 +625,10 @@ xenParseHypervisorFeatures(virConfPtr conf, virDomainDefPtr def) return -1; if (val != -1) { - if (VIR_EXPAND_N(def->clock.timers, def->clock.ntimers, 1) < 0 || - VIR_ALLOC(timer) < 0) + if (VIR_EXPAND_N(def->clock.timers, def->clock.ntimers, 1) < 0) return -1; + timer = g_new0(virDomainTimerDef, 1); timer->name = VIR_DOMAIN_TIMER_NAME_HPET; timer->present = val; timer->tickpolicy = -1; @@ -666,8 +664,7 @@ xenParseVfb(virConfPtr conf, virDomainDefPtr def) if (xenConfigGetBool(conf, "vnc", &val, 0) < 0) goto cleanup; if (val) { - if (VIR_ALLOC(graphics) < 0) - goto cleanup; + graphics = g_new0(virDomainGraphicsDef, 1); graphics->type = VIR_DOMAIN_GRAPHICS_TYPE_VNC; if (xenConfigGetBool(conf, "vncunused", &val, 1) < 0) goto cleanup; @@ -689,8 +686,7 @@ xenParseVfb(virConfPtr conf, virDomainDefPtr def) goto cleanup; if (xenConfigCopyStringOpt(conf, "keymap", &graphics->data.vnc.keymap) < 0) goto cleanup; - if (VIR_ALLOC_N(def->graphics, 1) < 0) - goto cleanup; + def->graphics = g_new0(virDomainGraphicsDefPtr, 1); def->graphics[0] = graphics; def->ngraphics = 1; graphics = NULL; @@ -698,15 +694,13 @@ xenParseVfb(virConfPtr conf, virDomainDefPtr def) if (xenConfigGetBool(conf, "sdl", &val, 0) < 0) goto cleanup; if (val) { - if (VIR_ALLOC(graphics) < 0) - goto cleanup; + graphics = g_new0(virDomainGraphicsDef, 1); graphics->type = VIR_DOMAIN_GRAPHICS_TYPE_SDL; if (xenConfigCopyStringOpt(conf, "display", &graphics->data.sdl.display) < 0) goto cleanup; if (xenConfigCopyStringOpt(conf, "xauthority", &graphics->data.sdl.xauth) < 0) goto cleanup; - if (VIR_ALLOC_N(def->graphics, 1) < 0) - goto cleanup; + def->graphics = g_new0(virDomainGraphicsDefPtr, 1); def->graphics[0] = graphics; def->ngraphics = 1; graphics = NULL; @@ -729,8 +723,7 @@ xenParseVfb(virConfPtr conf, virDomainDefPtr def) goto cleanup; } - if (VIR_ALLOC(graphics) < 0) - goto cleanup; + graphics = g_new0(virDomainGraphicsDef, 1); if (strstr(key, "type=sdl")) graphics->type = VIR_DOMAIN_GRAPHICS_TYPE_SDL; else @@ -785,8 +778,7 @@ xenParseVfb(virConfPtr conf, virDomainDefPtr def) goto cleanup; VIR_FREE(listenAddr); } - if (VIR_ALLOC_N(def->graphics, 1) < 0) - goto cleanup; + def->graphics = g_new0(virDomainGraphicsDefPtr, 1); def->graphics[0] = graphics; def->ngraphics = 1; graphics = NULL; @@ -962,8 +954,7 @@ xenParseCharDev(virConfPtr conf, virDomainDefPtr def, const char *nativeFormat) !(chr = xenParseSxprChar(parallel, NULL))) goto cleanup; if (chr) { - if (VIR_ALLOC_N(def->parallels, 1) < 0) - goto cleanup; + def->parallels = g_new0(virDomainChrDefPtr, 1); chr->deviceType = VIR_DOMAIN_CHR_DEVICE_TYPE_PARALLEL; chr->target.port = 0; @@ -1010,8 +1001,7 @@ xenParseCharDev(virConfPtr conf, virDomainDefPtr def, const char *nativeFormat) !(chr = xenParseSxprChar(serial, NULL))) goto cleanup; if (chr) { - if (VIR_ALLOC_N(def->serials, 1) < 0) - goto cleanup; + def->serials = g_new0(virDomainChrDefPtr, 1); chr->deviceType = VIR_DOMAIN_CHR_DEVICE_TYPE_SERIAL; chr->target.port = 0; def->serials[0] = chr; @@ -1019,8 +1009,7 @@ xenParseCharDev(virConfPtr conf, virDomainDefPtr def, const char *nativeFormat) } } } else { - if (VIR_ALLOC_N(def->consoles, 1) < 0) - goto cleanup; + def->consoles = g_new0(virDomainChrDefPtr, 1); def->nconsoles = 1; if (!(def->consoles[0] = xenParseSxprChar("pty", NULL))) goto cleanup; @@ -1051,15 +1040,11 @@ xenParseVifBridge(virDomainNetDefPtr net, char *bridge) if (virStrToLong_ui(vlanstr, NULL, 10, &tag) < 0) return -1; - if (VIR_ALLOC_N(net->vlan.tag, 1) < 0) - return -1; - + net->vlan.tag = g_new0(unsigned int, 1); net->vlan.tag[0] = tag; net->vlan.nTags = 1; - if (VIR_ALLOC(net->virtPortProfile) < 0) - return -1; - + net->virtPortProfile = g_new0(virNetDevVPortProfile, 1); net->virtPortProfile->virtPortType = VIR_NETDEV_VPORT_PROFILE_OPENVSWITCH; return 0; } else if ((vlanstr = strchr(bridge, ':'))) { @@ -1076,10 +1061,7 @@ xenParseVifBridge(virDomainNetDefPtr net, char *bridge) for (i = 1; vlanstr_list[i]; i++) nvlans++; - if (VIR_ALLOC_N(net->vlan.tag, nvlans) < 0) { - g_strfreev(vlanstr_list); - return -1; - } + net->vlan.tag = g_new0(unsigned int, nvlans); for (i = 1; i <= nvlans; i++) { if (virStrToLong_ui(vlanstr_list[i], NULL, 10, &tag) < 0) { @@ -1092,9 +1074,7 @@ xenParseVifBridge(virDomainNetDefPtr net, char *bridge) net->vlan.trunk = true; g_strfreev(vlanstr_list); - if (VIR_ALLOC(net->virtPortProfile) < 0) - return -1; - + net->virtPortProfile = g_new0(virNetDevVPortProfile, 1); net->virtPortProfile->virtPortType = VIR_NETDEV_VPORT_PROFILE_OPENVSWITCH; return 0; } else { @@ -1314,14 +1294,8 @@ xenParseVif(char *entry, const char *vif_typename) if (xenParseSxprVifRate(rate, &kbytes_per_sec) < 0) goto cleanup; - if (VIR_ALLOC(bandwidth) < 0) - goto cleanup; - - if (VIR_ALLOC(bandwidth->out) < 0) { - VIR_FREE(bandwidth); - goto cleanup; - } - + bandwidth = g_new0(virNetDevBandwidth, 1); + bandwidth->out = g_new0(virNetDevBandwidthRate, 1); bandwidth->out->average = kbytes_per_sec; net->bandwidth = bandwidth; } @@ -1393,15 +1367,11 @@ xenParseSxprSound(virDomainDefPtr def, * Hence use of MODEL_ES1370 + 1, instead of MODEL_LAST */ - if (VIR_ALLOC_N(def->sounds, - VIR_DOMAIN_SOUND_MODEL_ES1370 + 1) < 0) - return -1; - + def->sounds = g_new0(virDomainSoundDefPtr, + VIR_DOMAIN_SOUND_MODEL_ES1370 + 1); for (i = 0; i < (VIR_DOMAIN_SOUND_MODEL_ES1370 + 1); i++) { - virDomainSoundDefPtr sound; - if (VIR_ALLOC(sound) < 0) - return -1; + virDomainSoundDefPtr sound = g_new0(virDomainSoundDef, 1); sound->model = i; def->sounds[def->nsounds++] = sound; } @@ -1424,8 +1394,7 @@ xenParseSxprSound(virDomainDefPtr def, return -1; } - if (VIR_ALLOC(sound) < 0) - return -1; + sound = g_new0(virDomainSoundDef, 1); if ((sound->model = virDomainSoundModelTypeFromString(model)) < 0) { VIR_FREE(sound); @@ -1661,8 +1630,7 @@ xenFormatSerial(virConfValuePtr list, virDomainChrDefPtr serial) virBufferAddLit(&buf, "none"); } - if (VIR_ALLOC(val) < 0) - return -1; + val = g_new0(virConfValue, 1); val->type = VIR_CONF_STRING; val->str = virBufferContentAndReset(&buf); @@ -1684,8 +1652,7 @@ xenMakeIPList(virNetDevIPInfoPtr guestIP) char **address_array; char *ret = NULL; - if (VIR_ALLOC_N(address_array, guestIP->nips + 1) < 0) - return NULL; + address_array = g_new0(char *, guestIP->nips + 1); for (i = 0; i < guestIP->nips; i++) { address_array[i] = virSocketAddrFormat(&guestIP->ips[i]->address); @@ -1822,9 +1789,7 @@ xenFormatNet(virConnectPtr conn, if (net->bandwidth && net->bandwidth->out && net->bandwidth->out->average) virBufferAsprintf(&buf, ",rate=%lluKB/s", net->bandwidth->out->average); - if (VIR_ALLOC(val) < 0) - return -1; - + val = g_new0(virConfValue, 1); val->type = VIR_CONF_STRING; val->str = virBufferContentAndReset(&buf); tmp = list->list; @@ -1854,8 +1819,7 @@ xenFormatPCI(virConfPtr conf, virDomainDefPtr def) if (!hasPCI) return 0; - if (VIR_ALLOC(pciVal) < 0) - return -1; + pciVal = g_new0(virConfValue, 1); pciVal->type = VIR_CONF_LIST; pciVal->list = NULL; @@ -1888,10 +1852,7 @@ xenFormatPCI(virConfPtr conf, virDomainDefPtr def) permissive_str); - if (VIR_ALLOC(val) < 0) { - VIR_FREE(buf); - goto error; - } + val = g_new0(virConfValue, 1); val->type = VIR_CONF_STRING; val->str = buf; tmp = pciVal->list; @@ -1913,10 +1874,6 @@ xenFormatPCI(virConfPtr conf, virDomainDefPtr def) VIR_FREE(pciVal); return 0; - - error: - virConfFreeValue(pciVal); - return -1; } @@ -2098,9 +2055,7 @@ xenFormatCharDev(virConfPtr conf, virDomainDefPtr def, return -1; } - if (VIR_ALLOC(serialVal) < 0) - return -1; - + serialVal = g_new0(virConfValue, 1); serialVal->type = VIR_CONF_LIST; serialVal->list = NULL; @@ -2385,16 +2340,8 @@ xenFormatVfb(virConfPtr conf, virDomainDefPtr def) vfbstr = virBufferContentAndReset(&buf); - if (VIR_ALLOC(vfb) < 0) { - VIR_FREE(vfbstr); - return -1; - } - - if (VIR_ALLOC(disp) < 0) { - VIR_FREE(vfb); - VIR_FREE(vfbstr); - return -1; - } + vfb = g_new0(virConfValue, 1); + disp = g_new0(virConfValue, 1); vfb->type = VIR_CONF_LIST; vfb->list = disp; @@ -2450,8 +2397,7 @@ xenFormatVif(virConfPtr conf, size_t i; int hvm = def->os.type == VIR_DOMAIN_OSTYPE_HVM; - if (VIR_ALLOC(netVal) < 0) - goto cleanup; + netVal = g_new0(virConfValue, 1); netVal->type = VIR_CONF_LIST; netVal->list = NULL; diff --git a/src/libxl/xen_xl.c b/src/libxl/xen_xl.c index 30a8125f5f..74f48e4117 100644 --- a/src/libxl/xen_xl.c +++ b/src/libxl/xen_xl.c @@ -110,9 +110,7 @@ xenParseXLOS(virConfPtr conf, virDomainDefPtr def, virCapsPtr caps) return -1; if (bios && STREQ(bios, "ovmf")) { - if (VIR_ALLOC(def->os.loader) < 0) - return -1; - + def->os.loader = g_new0(virDomainLoaderDef, 1); def->os.loader->type = VIR_DOMAIN_LOADER_TYPE_PFLASH; def->os.loader->readonly = VIR_TRISTATE_BOOL_YES; @@ -121,8 +119,7 @@ xenParseXLOS(virConfPtr conf, virDomainDefPtr def, virCapsPtr caps) for (i = 0; i < caps->nguests; i++) { if (caps->guests[i]->ostype == VIR_DOMAIN_OSTYPE_HVM && caps->guests[i]->arch.id == def->os.arch) { - if (VIR_ALLOC(def->os.loader) < 0) - return -1; + def->os.loader = g_new0(virDomainLoaderDef, 1); def->os.loader->path = g_strdup(caps->guests[i]->arch.defaultInfo.loader); } } @@ -345,9 +342,7 @@ xenParseXLSpice(virConfPtr conf, virDomainDefPtr def) return -1; if (val) { - if (VIR_ALLOC(graphics) < 0) - return -1; - + graphics = g_new0(virDomainGraphicsDef, 1); graphics->type = VIR_DOMAIN_GRAPHICS_TYPE_SPICE; if (xenConfigCopyStringOpt(conf, "spicehost", &listenAddr) < 0) goto cleanup; @@ -394,8 +389,7 @@ xenParseXLSpice(virConfPtr conf, virDomainDefPtr def) else graphics->data.spice.copypaste = VIR_TRISTATE_BOOL_NO; - if (VIR_ALLOC_N(def->graphics, 1) < 0) - goto cleanup; + def->graphics = g_new0(virDomainGraphicsDefPtr, 1); def->graphics[0] = graphics; def->ngraphics = 1; } @@ -702,8 +696,7 @@ xenParseXLDisk(virConfPtr conf, virDomainDefPtr def) libxl_device_disk *libxldisk; virDomainDiskDefPtr disk = NULL; - if (VIR_ALLOC(libxldisk) < 0) - return -1; + libxldisk = g_new0(libxl_device_disk, 1); if (!(xluconf = xlu_cfg_init(stderr, "command line"))) goto cleanup; @@ -868,8 +861,8 @@ xenParseXLInputDevs(virConfPtr conf, virDomainDefPtr def) STREQ(str, "mouse") || STREQ(str, "keyboard"))) { virDomainInputDefPtr input; - if (VIR_ALLOC(input) < 0) - return -1; + input = g_new0(virDomainInputDef, + 1); input->bus = VIR_DOMAIN_INPUT_BUS_USB; if (STREQ(str, "mouse")) @@ -1397,8 +1390,7 @@ xenFormatXLCPUID(virConfPtr conf, virDomainDefPtr def) } /* "host" + all features + NULL */ - if (VIR_ALLOC_N(cpuid_pairs, def->cpu->nfeatures + 2) < 0) - return -1; + cpuid_pairs = g_new0(char *, def->cpu->nfeatures + 2); cpuid_pairs[0] = g_strdup("host"); @@ -1455,8 +1447,7 @@ xenFormatXLVnode(virConfValuePtr list, { virConfValuePtr numaPnode, tmp; - if (VIR_ALLOC(numaPnode) < 0) - return -1; + numaPnode = g_new0(virConfValue, 1); /* Place VNODE directive */ numaPnode->type = VIR_CONF_STRING; @@ -1487,10 +1478,10 @@ xenFormatXLVnuma(virConfValuePtr list, size_t nodeSize = virDomainNumaGetNodeMemorySize(numa, node) / 1024; g_autofree char *nodeVcpus = NULL; - if (!cpumask || - VIR_ALLOC(numaVnode) < 0) - goto cleanup; + if (!cpumask) + return -1; + numaVnode = g_new0(virConfValue, 1); numaVnode->type = VIR_CONF_LIST; numaVnode->list = NULL; @@ -1527,7 +1518,6 @@ xenFormatXLVnuma(virConfValuePtr list, list->list = numaVnode; ret = 0; - cleanup: VIR_FREE(nodeVcpus); return ret; } @@ -1544,8 +1534,7 @@ xenFormatXLDomainVnuma(virConfPtr conf, if (numa == NULL) return -1; - if (VIR_ALLOC(vnumaVal) < 0) - return -1; + vnumaVal = g_new0(virConfValue, 1); vnumaVal->type = VIR_CONF_LIST; vnumaVal->list = NULL; @@ -1772,8 +1761,7 @@ xenFormatXLDisk(virConfValuePtr list, virDomainDiskDefPtr disk) if (target) virBufferAsprintf(&buf, ",target=%s", target); - if (VIR_ALLOC(val) < 0) - goto cleanup; + val = g_new0(virConfValue, 1); val->type = VIR_CONF_STRING; val->str = virBufferContentAndReset(&buf); @@ -1798,8 +1786,7 @@ xenFormatXLDomainDisks(virConfPtr conf, virDomainDefPtr def) virConfValuePtr diskVal; size_t i; - if (VIR_ALLOC(diskVal) < 0) - return -1; + diskVal = g_new0(virConfValue, 1); diskVal->type = VIR_CONF_LIST; diskVal->list = NULL; @@ -1923,9 +1910,7 @@ xenFormatXLInputDevs(virConfPtr conf, virDomainDefPtr def) virConfValuePtr usbdevices = NULL, lastdev; if (def->os.type == VIR_DOMAIN_OSTYPE_HVM) { - if (VIR_ALLOC(usbdevices) < 0) - goto error; - + usbdevices = g_new0(virConfValue, 1); usbdevices->type = VIR_CONF_LIST; usbdevices->list = NULL; lastdev = NULL; @@ -1949,12 +1934,10 @@ xenFormatXLInputDevs(virConfPtr conf, virDomainDefPtr def) } if (lastdev == NULL) { - if (VIR_ALLOC(lastdev) < 0) - goto error; + lastdev = g_new0(virConfValue, 1); usbdevices->list = lastdev; } else { - if (VIR_ALLOC(lastdev->next) < 0) - goto error; + lastdev->next = g_new0(virConfValue, 1); lastdev = lastdev->next; } lastdev->type = VIR_CONF_STRING; @@ -2000,8 +1983,7 @@ xenFormatXLUSBController(virConfPtr conf, if (!hasUSBCtrl) return 0; - if (VIR_ALLOC(usbctrlVal) < 0) - return -1; + usbctrlVal = g_new0(virConfValue, 1); usbctrlVal->type = VIR_CONF_LIST; usbctrlVal->list = NULL; @@ -2030,9 +2012,7 @@ xenFormatXLUSBController(virConfPtr conf, virBufferAsprintf(&buf, "ports=%x", def->controllers[i]->opts.usbopts.ports); - if (VIR_ALLOC(val) < 0) - goto error; - + val = g_new0(virConfValue, 1); val->type = VIR_CONF_STRING; val->str = virBufferContentAndReset(&buf); tmp = usbctrlVal->list; @@ -2080,8 +2060,7 @@ xenFormatXLUSB(virConfPtr conf, if (!hasUSB) return 0; - if (VIR_ALLOC(usbVal) < 0) - return -1; + usbVal = g_new0(virConfValue, 1); usbVal->type = VIR_CONF_LIST; usbVal->list = NULL; @@ -2096,10 +2075,7 @@ xenFormatXLUSB(virConfPtr conf, def->hostdevs[i]->source.subsys.u.usb.bus, def->hostdevs[i]->source.subsys.u.usb.device); - if (VIR_ALLOC(val) < 0) { - VIR_FREE(buf); - goto error; - } + val = g_new0(virConfValue, 1); val->type = VIR_CONF_STRING; val->str = buf; tmp = usbVal->list; @@ -2121,10 +2097,6 @@ xenFormatXLUSB(virConfPtr conf, VIR_FREE(usbVal); return 0; - - error: - virConfFreeValue(usbVal); - return -1; } static int @@ -2154,9 +2126,7 @@ xenFormatXLChannel(virConfValuePtr list, virDomainChrDefPtr channel) /* name */ virBufferAsprintf(&buf, "name=%s", channel->target.name); - if (VIR_ALLOC(val) < 0) - return -1; - + val = g_new0(virConfValue, 1); val->type = VIR_CONF_STRING; val->str = virBufferContentAndReset(&buf); tmp = list->list; @@ -2175,8 +2145,7 @@ xenFormatXLDomainChannels(virConfPtr conf, virDomainDefPtr def) virConfValuePtr channelVal = NULL; size_t i; - if (VIR_ALLOC(channelVal) < 0) - goto cleanup; + channelVal = g_new0(virConfValue, 1); channelVal->type = VIR_CONF_LIST; channelVal->list = NULL; @@ -2219,8 +2188,7 @@ xenFormatXLDomainNamespaceData(virConfPtr conf, virDomainDefPtr def) if (nsdata->num_args == 0) return 0; - if (VIR_ALLOC(args) < 0) - return -1; + args = g_new0(virConfValue, 1); args->type = VIR_CONF_LIST; args->list = NULL; @@ -2228,8 +2196,7 @@ xenFormatXLDomainNamespaceData(virConfPtr conf, virDomainDefPtr def) for (i = 0; i < nsdata->num_args; i++) { virConfValuePtr val, tmp; - if (VIR_ALLOC(val) < 0) - goto error; + val = g_new0(virConfValue, 1); val->type = VIR_CONF_STRING; val->str = g_strdup(nsdata->args[i]); diff --git a/src/libxl/xen_xm.c b/src/libxl/xen_xm.c index edf86abc64..8ade5aec1c 100644 --- a/src/libxl/xen_xm.c +++ b/src/libxl/xen_xm.c @@ -148,8 +148,7 @@ xenParseXMDisk(char *entry, int hvm) if (!(offset = strchr(head, ','))) goto error; - if (VIR_ALLOC_N(disk->dst, (offset - head) + 1) < 0) - goto error; + disk->dst = g_new0(char, (offset - head) + 1); if (virStrncpy(disk->dst, head, offset - head, (offset - head) + 1) < 0) { @@ -368,8 +367,7 @@ xenFormatXMDisks(virConfPtr conf, virDomainDefPtr def) virConfValuePtr diskVal = NULL; size_t i = 0; - if (VIR_ALLOC(diskVal) < 0) - goto cleanup; + diskVal = g_new0(virConfValue, 1); diskVal->type = VIR_CONF_LIST; diskVal->list = NULL; @@ -411,8 +409,7 @@ xenParseXMInputDevs(virConfPtr conf, virDomainDefPtr def) STREQ(str, "mouse") || STREQ(str, "keyboard"))) { virDomainInputDefPtr input; - if (VIR_ALLOC(input) < 0) - return -1; + input = g_new0(virDomainInputDef, 1); input->bus = VIR_DOMAIN_INPUT_BUS_USB; if (STREQ(str, "mouse")) -- 2.26.2