caps->host.nsecModels = 1;
if (VIR_ALLOC_N(caps->host.secModels, caps->host.nsecModels) < 0)
goto no_memory;
- caps->host.secModels[0].model = strdup("testSecurity");
- if (!caps->host.secModels[0].model)
- goto no_memory;
+ if (VIR_STRDUP(caps->host.secModels[0].model, "testSecurity") < 0)
+ goto error;
- caps->host.secModels[0].doi = strdup("");
- if (!caps->host.secModels[0].doi)
- goto no_memory;
+ if (VIR_STRDUP(caps->host.secModels[0].doi, "") < 0)
+ goto error;
return caps;
no_memory:
virReportOOMError();
+error:
virObjectUnref(caps);
return NULL;
}
const char *filename) {
char *offset;
int baseLen;
+ char *ret;
+
if (!filename || filename[0] == '\0')
return NULL;
- if (filename[0] == '/')
- return strdup(filename);
+ if (filename[0] == '/') {
+ ignore_value(VIR_STRDUP(ret, filename));
+ return ret;
+ }
offset = strrchr(relativeTo, '/');
if ((baseLen = (offset-relativeTo+1))) {
strcat(absFile, filename);
return absFile;
} else {
- return strdup(filename);
+ ignore_value(VIR_STRDUP(ret, filename));
+ return ret;
}
}
}
}
- if (def->key == NULL) {
- def->key = strdup(def->target.path);
- if (def->key == NULL) {
- virReportOOMError();
- goto error;
- }
- }
+ if (!def->key && VIR_STRDUP(def->key, def->target.path) < 0)
+ goto error;
pool->def->allocation += def->allocation;
pool->def->available = (pool->def->capacity -
privconn->nextDomID = 1;
privconn->numCells = 0;
- if ((privconn->path = strdup(file)) == NULL) {
- virReportOOMError();
+ if (VIR_STRDUP(privconn->path, file) < 0)
goto error;
- }
memmove(&privconn->nodeInfo, &defaultNodeInfo, sizeof(defaultNodeInfo));
nodeInfo = &privconn->nodeInfo;
}
static char *testDomainGetOSType(virDomainPtr dom ATTRIBUTE_UNUSED) {
- char *ret = strdup("linux");
- if (!ret)
- virReportOOMError();
+ char *ret;
+
+ ignore_value(VIR_STRDUP(ret, "linux"));
return ret;
}
if (nparams)
*nparams = 1;
- type = strdup("fair");
- if (!type)
- virReportOOMError();
+ ignore_value(VIR_STRDUP(type, "fair"));
return type;
}
for (i = 0 ; i < privconn->networks.count && n < nnames ; i++) {
virNetworkObjLock(privconn->networks.objs[i]);
if (virNetworkObjIsActive(privconn->networks.objs[i]) &&
- !(names[n++] = strdup(privconn->networks.objs[i]->def->name))) {
+ VIR_STRDUP(names[n++], privconn->networks.objs[i]->def->name) < 0) {
virNetworkObjUnlock(privconn->networks.objs[i]);
- goto no_memory;
+ goto error;
}
virNetworkObjUnlock(privconn->networks.objs[i]);
}
return n;
-no_memory:
- virReportOOMError();
+error:
for (n = 0 ; n < nnames ; n++)
VIR_FREE(names[n]);
testDriverUnlock(privconn);
for (i = 0 ; i < privconn->networks.count && n < nnames ; i++) {
virNetworkObjLock(privconn->networks.objs[i]);
if (!virNetworkObjIsActive(privconn->networks.objs[i]) &&
- !(names[n++] = strdup(privconn->networks.objs[i]->def->name))) {
+ VIR_STRDUP(names[n++], privconn->networks.objs[i]->def->name) < 0) {
virNetworkObjUnlock(privconn->networks.objs[i]);
- goto no_memory;
+ goto error;
}
virNetworkObjUnlock(privconn->networks.objs[i]);
}
return n;
-no_memory:
- virReportOOMError();
+error:
for (n = 0 ; n < nnames ; n++)
VIR_FREE(names[n]);
testDriverUnlock(privconn);
goto cleanup;
}
- if (!(bridge = strdup(privnet->def->bridge))) {
- virReportOOMError();
- goto cleanup;
- }
+ ignore_value(VIR_STRDUP(bridge, privnet->def->bridge));
cleanup:
if (privnet)
for (i = 0 ; (i < privconn->ifaces.count) && (n < nnames); i++) {
virInterfaceObjLock(privconn->ifaces.objs[i]);
if (virInterfaceObjIsActive(privconn->ifaces.objs[i])) {
- if (!(names[n++] = strdup(privconn->ifaces.objs[i]->def->name))) {
+ if (VIR_STRDUP(names[n++], privconn->ifaces.objs[i]->def->name) < 0) {
virInterfaceObjUnlock(privconn->ifaces.objs[i]);
- goto no_memory;
+ goto error;
}
}
virInterfaceObjUnlock(privconn->ifaces.objs[i]);
return n;
-no_memory:
- virReportOOMError();
+error:
for (n = 0 ; n < nnames ; n++)
VIR_FREE(names[n]);
testDriverUnlock(privconn);
for (i = 0 ; (i < privconn->ifaces.count) && (n < nnames); i++) {
virInterfaceObjLock(privconn->ifaces.objs[i]);
if (!virInterfaceObjIsActive(privconn->ifaces.objs[i])) {
- if (!(names[n++] = strdup(privconn->ifaces.objs[i]->def->name))) {
+ if (VIR_STRDUP(names[n++], privconn->ifaces.objs[i]->def->name) < 0) {
virInterfaceObjUnlock(privconn->ifaces.objs[i]);
- goto no_memory;
+ goto error;
}
}
virInterfaceObjUnlock(privconn->ifaces.objs[i]);
return n;
-no_memory:
- virReportOOMError();
+error:
for (n = 0 ; n < nnames ; n++)
VIR_FREE(names[n]);
testDriverUnlock(privconn);
pool->def->allocation = defaultPoolAlloc;
pool->def->available = defaultPoolCap - defaultPoolAlloc;
- pool->configFile = strdup("\0");
- if (!pool->configFile) {
- virReportOOMError();
- return -1;
- }
-
- return 0;
+ return VIR_STRDUP(pool->configFile, "");
}
static virDrvOpenStatus testStorageOpen(virConnectPtr conn,
for (i = 0 ; i < privconn->pools.count && n < nnames ; i++) {
virStoragePoolObjLock(privconn->pools.objs[i]);
if (virStoragePoolObjIsActive(privconn->pools.objs[i]) &&
- !(names[n++] = strdup(privconn->pools.objs[i]->def->name))) {
+ VIR_STRDUP(names[n++], privconn->pools.objs[i]->def->name) < 0) {
virStoragePoolObjUnlock(privconn->pools.objs[i]);
- goto no_memory;
+ goto error;
}
virStoragePoolObjUnlock(privconn->pools.objs[i]);
}
return n;
-no_memory:
- virReportOOMError();
+error:
for (n = 0 ; n < nnames ; n++)
VIR_FREE(names[n]);
testDriverUnlock(privconn);
for (i = 0 ; i < privconn->pools.count && n < nnames ; i++) {
virStoragePoolObjLock(privconn->pools.objs[i]);
if (!virStoragePoolObjIsActive(privconn->pools.objs[i]) &&
- !(names[n++] = strdup(privconn->pools.objs[i]->def->name))) {
+ VIR_STRDUP(names[n++], privconn->pools.objs[i]->def->name) < 0) {
virStoragePoolObjUnlock(privconn->pools.objs[i]);
- goto no_memory;
+ goto error;
}
virStoragePoolObjUnlock(privconn->pools.objs[i]);
}
return n;
-no_memory:
- virReportOOMError();
+error:
for (n = 0 ; n < nnames ; n++)
VIR_FREE(names[n]);
testDriverUnlock(privconn);
switch (pool_type) {
case VIR_STORAGE_POOL_LOGICAL:
- ret = strdup(defaultPoolSourcesLogicalXML);
- if (!ret)
- virReportOOMError();
+ ignore_value(VIR_STRDUP(ret, defaultPoolSourcesLogicalXML));
break;
case VIR_STORAGE_POOL_NETFS:
}
for (i = 0 ; i < privpool->volumes.count && n < maxnames ; i++) {
- if ((names[n++] = strdup(privpool->volumes.objs[i]->name)) == NULL) {
- virReportOOMError();
+ if (VIR_STRDUP(names[n++], privpool->volumes.objs[i]->name) < 0)
goto cleanup;
- }
}
virStoragePoolObjUnlock(privpool);
goto cleanup;
}
- privvol->key = strdup(privvol->target.path);
- if (privvol->key == NULL) {
- virReportOOMError();
+ if (VIR_STRDUP(privvol->key, privvol->target.path) < 0)
goto cleanup;
- }
privpool->def->allocation += privvol->allocation;
privpool->def->available = (privpool->def->capacity -
goto cleanup;
}
- privvol->key = strdup(privvol->target.path);
- if (privvol->key == NULL) {
- virReportOOMError();
+ if (VIR_STRDUP(privvol->key, privvol->target.path) < 0)
goto cleanup;
- }
privpool->def->allocation += privvol->allocation;
privpool->def->available = (privpool->def->capacity -
goto cleanup;
}
- ret = strdup(privvol->target.path);
- if (ret == NULL)
- virReportOOMError();
+ ignore_value(VIR_STRDUP(ret, privvol->target.path));
cleanup:
if (privpool)
virNodeDeviceObjLock(driver->devs.objs[i]);
if (cap == NULL ||
virNodeDeviceHasCap(driver->devs.objs[i], cap)) {
- if ((names[ndevs++] = strdup(driver->devs.objs[i]->def->name)) == NULL) {
+ if (VIR_STRDUP(names[ndevs++], driver->devs.objs[i]->def->name) < 0) {
virNodeDeviceObjUnlock(driver->devs.objs[i]);
goto failure;
}
}
if (obj->def->parent) {
- ret = strdup(obj->def->parent);
- if (!ret)
- virReportOOMError();
+ ignore_value(VIR_STRDUP(ret, obj->def->parent));
} else {
virReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("no parent for this device"));
}
for (caps = obj->def->caps; caps && ncaps < maxnames; caps = caps->next) {
- names[ncaps] = strdup(virNodeDevCapTypeToString(caps->type));
- if (names[ncaps++] == NULL)
+ if (VIR_STRDUP(names[ncaps++], virNodeDevCapTypeToString(caps->type)) < 0)
goto cleanup;
}
ret = ncaps;
/* 'name' is supposed to be filled in by the node device backend, which
* we don't have. Use WWPN instead. */
VIR_FREE(def->name);
- if (!(def->name = strdup(wwpn))) {
- virReportOOMError();
+ if (VIR_STRDUP(def->name, wwpn) < 0)
goto cleanup;
- }
/* Fill in a random 'host' value, since this would also come from
* the backend */
goto out;
}
- parent_name = strdup(obj->def->parent);
- if (parent_name == NULL) {
- virReportOOMError();
+ if (VIR_STRDUP(parent_name, obj->def->parent) < 0)
goto out;
- }
/* virNodeDeviceGetParentHost will cause the device object's lock to be
* taken, so we have to dup the parent's name and drop the lock
virCheckFlags(0, NULL);
- if (!(ret = strdup("image/png"))) {
- virReportOOMError();
+ if (VIR_STRDUP(ret, "image/png") < 0)
return NULL;
- }
if (virFDStreamOpenFile(st, PKGDATADIR "/libvirtLogo.png", 0, 0, O_RDONLY < 0))
VIR_FREE(ret);