1
0

Adapt to VIR_STRDUP and VIR_STRNDUP in src/parallels/*

This commit is contained in:
Michal Privoznik 2013-05-03 14:46:03 +02:00
parent 0ca51d5c9f
commit b3c649ac5e
3 changed files with 57 additions and 101 deletions

View File

@ -186,8 +186,8 @@ parallelsGetSerialInfo(virDomainChrDefPtr chr,
return -1; return -1;
} }
if (!(chr->source.data.file.path = strdup(tmp))) if (VIR_STRDUP(chr->source.data.file.path, tmp) < 0)
goto no_memory; return -1;
} else if (virJSONValueObjectHasKey(value, "socket")) { } else if (virJSONValueObjectHasKey(value, "socket")) {
chr->source.type = VIR_DOMAIN_CHR_TYPE_UNIX; chr->source.type = VIR_DOMAIN_CHR_TYPE_UNIX;
@ -197,8 +197,8 @@ parallelsGetSerialInfo(virDomainChrDefPtr chr,
return -1; return -1;
} }
if (!(chr->source.data.nix.path = strdup(tmp))) if (VIR_STRDUP(chr->source.data.nix.path, tmp) < 0)
goto no_memory; return -1;
chr->source.data.nix.listen = false; chr->source.data.nix.listen = false;
} else if (virJSONValueObjectHasKey(value, "real")) { } else if (virJSONValueObjectHasKey(value, "real")) {
chr->source.type = VIR_DOMAIN_CHR_TYPE_DEV; chr->source.type = VIR_DOMAIN_CHR_TYPE_DEV;
@ -209,18 +209,14 @@ parallelsGetSerialInfo(virDomainChrDefPtr chr,
return -1; return -1;
} }
if (!(chr->source.data.file.path = strdup(tmp))) if (VIR_STRDUP(chr->source.data.file.path, tmp) < 0)
goto no_memory; return -1;
} else { } else {
parallelsParseError(); parallelsParseError();
return -1; return -1;
} }
return 0; return 0;
no_memory:
virReportOOMError();
return -1;
} }
static int static int
@ -318,10 +314,8 @@ parallelsGetHddInfo(virDomainDefPtr def,
return -1; return -1;
} }
if (!(disk->src = strdup(tmp))) { if (VIR_STRDUP(disk->src, tmp) < 0)
virReportOOMError();
return -1; return -1;
}
} else { } else {
disk->type = VIR_DOMAIN_DISK_TYPE_FILE; disk->type = VIR_DOMAIN_DISK_TYPE_FILE;
@ -330,10 +324,8 @@ parallelsGetHddInfo(virDomainDefPtr def,
return -1; return -1;
} }
if (!(disk->src = strdup(tmp))) { if (VIR_STRDUP(disk->src, tmp) < 0)
virReportOOMError();
return -1; return -1;
}
} }
tmp = virJSONValueObjectGetString(value, "port"); tmp = virJSONValueObjectGetString(value, "port");
@ -454,10 +446,8 @@ parallelsGetNetInfo(virDomainNetDefPtr net,
/* use device name, shown by prlctl as target device /* use device name, shown by prlctl as target device
* for identifying network adapter in virDomainDefineXML */ * for identifying network adapter in virDomainDefineXML */
if (!(net->ifname = strdup(key))) { if (VIR_STRDUP(net->ifname, key) < 0)
virReportOOMError();
goto error; goto error;
}
net->type = VIR_DOMAIN_NET_TYPE_NETWORK; net->type = VIR_DOMAIN_NET_TYPE_NETWORK;
@ -478,10 +468,8 @@ parallelsGetNetInfo(virDomainNetDefPtr net,
goto error; goto error;
} }
if (!(net->data.network.name = strdup(tmp))) { if (VIR_STRDUP(net->data.network.name, tmp) < 0)
virReportOOMError();
goto error; goto error;
}
} else if (virJSONValueObjectHasKey(value, "type")) { } else if (virJSONValueObjectHasKey(value, "type")) {
if (!(tmp = virJSONValueObjectGetString(value, "type"))) { if (!(tmp = virJSONValueObjectGetString(value, "type"))) {
parallelsParseError(); parallelsParseError();
@ -493,10 +481,9 @@ parallelsGetNetInfo(virDomainNetDefPtr net,
goto error; goto error;
} }
if (!(net->data.network.name = strdup(PARALLELS_ROUTED_NETWORK_NAME))) { if (VIR_STRDUP(net->data.network.name,
virReportOOMError(); PARALLELS_ROUTED_NETWORK_NAME) < 0)
goto error; goto error;
}
} else { } else {
parallelsParseError(); parallelsParseError();
goto error; goto error;
@ -641,8 +628,8 @@ parallelsAddVNCInfo(virDomainDefPtr def, virJSONValuePtr jobj_root)
gr->nListens = 1; gr->nListens = 1;
if (!(gr->listens[0].address = strdup(tmp))) if (VIR_STRDUP(gr->listens[0].address, tmp) < 0)
goto no_memory; goto cleanup;
gr->listens[0].type = VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_ADDRESS; gr->listens[0].type = VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_ADDRESS;
@ -686,8 +673,8 @@ parallelsLoadDomain(parallelsConnPtr privconn, virJSONValuePtr jobj)
parallelsParseError(); parallelsParseError();
goto cleanup; goto cleanup;
} }
if (!(def->name = strdup(tmp))) if (VIR_STRDUP(def->name, tmp) < 0)
goto no_memory; goto cleanup;
if (!(tmp = virJSONValueObjectGetString(jobj, "ID"))) { if (!(tmp = virJSONValueObjectGetString(jobj, "ID"))) {
parallelsParseError(); parallelsParseError();
@ -704,8 +691,8 @@ parallelsLoadDomain(parallelsConnPtr privconn, virJSONValuePtr jobj)
parallelsParseError(); parallelsParseError();
goto cleanup; goto cleanup;
} }
if (!(def->description = strdup(tmp))) if (VIR_STRDUP(def->description, tmp) < 0)
goto no_memory; goto cleanup;
if (!(jobj2 = virJSONValueObjectGet(jobj, "Hardware"))) { if (!(jobj2 = virJSONValueObjectGet(jobj, "Hardware"))) {
parallelsParseError(); parallelsParseError();
@ -771,13 +758,13 @@ parallelsLoadDomain(parallelsConnPtr privconn, virJSONValuePtr jobj)
} }
if (STREQ(tmp, "CT")) { if (STREQ(tmp, "CT")) {
if (!(def->os.type = strdup("exe"))) if (VIR_STRDUP(def->os.type, "exe") < 0)
goto no_memory; goto cleanup;
if (!(def->os.init = strdup("/sbin/init"))) if (VIR_STRDUP(def->os.init, "/sbin/init") < 0)
goto no_memory; goto cleanup;
} else if (STREQ(tmp, "VM")) { } else if (STREQ(tmp, "VM")) {
if (!(def->os.type = strdup("hvm"))) if (VIR_STRDUP(def->os.type, "hvm") < 0)
goto no_memory; goto cleanup;
} }
def->os.arch = VIR_ARCH_X86_64; def->os.arch = VIR_ARCH_X86_64;
@ -792,16 +779,16 @@ parallelsLoadDomain(parallelsConnPtr privconn, virJSONValuePtr jobj)
parallelsParseError(); parallelsParseError();
goto cleanup; goto cleanup;
} }
if (!(pdom->uuid = strdup(tmp))) if (VIR_STRDUP(pdom->uuid, tmp) < 0)
goto no_memory; goto cleanup;
if (!(tmp = virJSONValueObjectGetString(jobj, "Home"))) { if (!(tmp = virJSONValueObjectGetString(jobj, "Home"))) {
parallelsParseError(); parallelsParseError();
goto cleanup; goto cleanup;
} }
if (!(pdom->home = strdup(tmp))) if (VIR_STRDUP(pdom->home, tmp) < 0)
goto no_memory; goto cleanup;
if (!(state = virJSONValueObjectGetString(jobj, "State"))) { if (!(state = virJSONValueObjectGetString(jobj, "State"))) {
parallelsParseError(); parallelsParseError();
@ -1246,8 +1233,7 @@ parallelsDomainGetOSType(virDomainPtr domain)
goto cleanup; goto cleanup;
} }
if (!(ret = strdup(privdom->def->os.type))) ignore_value(VIR_STRDUP(ret, privdom->def->os.type));
virReportOOMError();
cleanup: cleanup:
if (privdom) if (privdom)

View File

@ -66,10 +66,8 @@ static int parallelsGetBridgedNetInfo(virNetworkDefPtr def, virJSONValuePtr jobj
goto cleanup; goto cleanup;
} }
if (!(def->bridge = strdup(last_component(bridgePath)))) { if (VIR_STRDUP(def->bridge, last_component(bridgePath)) < 0)
virReportOOMError();
goto cleanup; goto cleanup;
}
if (virAsprintf(&bridgeAddressPath, "%s/%s/brport/bridge/address", if (virAsprintf(&bridgeAddressPath, "%s/%s/brport/bridge/address",
SYSFS_NET_DIR, ifname) < 0) { SYSFS_NET_DIR, ifname) < 0) {
@ -130,10 +128,9 @@ static int parallelsGetHostOnlyNetInfo(virNetworkDefPtr def, const char *name)
goto cleanup; goto cleanup;
} }
if (!(def->ips[0].family = strdup("ipv4"))) { if (VIR_STRDUP(def->ips[0].family, "ipv4") < 0)
virReportOOMError();
goto cleanup; goto cleanup;
};
if (!(tmp = virJSONValueObjectGetString(jobj2, "IP address"))) { if (!(tmp = virJSONValueObjectGetString(jobj2, "IP address"))) {
parallelsParseError(); parallelsParseError();
goto cleanup; goto cleanup;
@ -207,8 +204,8 @@ parallelsLoadNetwork(parallelsConnPtr privconn, virJSONValuePtr jobj)
goto cleanup; goto cleanup;
} }
if (!(def->name = strdup(tmp))) if (VIR_STRDUP(def->name, tmp) < 0)
goto no_memory; goto cleanup;
/* Network names are unique in Parallels Cloud Server, so we can make /* Network names are unique in Parallels Cloud Server, so we can make
* an UUID from it */ * an UUID from it */
@ -264,8 +261,8 @@ parallelsAddRoutedNetwork(parallelsConnPtr privconn)
def->forward.type = VIR_NETWORK_FORWARD_ROUTE; def->forward.type = VIR_NETWORK_FORWARD_ROUTE;
if (!(def->name = strdup(PARALLELS_ROUTED_NETWORK_NAME))) if (VIR_STRDUP(def->name, PARALLELS_ROUTED_NETWORK_NAME) < 0)
goto no_memory; goto cleanup;
if (virUUIDParse(PARALLELS_ROUTED_NETWORK_UUID, def->uuid) < 0) { if (virUUIDParse(PARALLELS_ROUTED_NETWORK_UUID, def->uuid) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s", virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
@ -390,9 +387,8 @@ static int parallelsConnectListNetworks(virConnectPtr conn,
for (i = 0 ; i < privconn->networks.count && got < nnames ; i++) { for (i = 0 ; i < privconn->networks.count && got < nnames ; i++) {
virNetworkObjLock(privconn->networks.objs[i]); virNetworkObjLock(privconn->networks.objs[i]);
if (virNetworkObjIsActive(privconn->networks.objs[i])) { if (virNetworkObjIsActive(privconn->networks.objs[i])) {
if (!(names[got] = strdup(privconn->networks.objs[i]->def->name))) { if (VIR_STRDUP(names[got], privconn->networks.objs[i]->def->name) < 0) {
virNetworkObjUnlock(privconn->networks.objs[i]); virNetworkObjUnlock(privconn->networks.objs[i]);
virReportOOMError();
goto cleanup; goto cleanup;
} }
got++; got++;
@ -438,9 +434,8 @@ static int parallelsConnectListDefinedNetworks(virConnectPtr conn,
for (i = 0 ; i < privconn->networks.count && got < nnames ; i++) { for (i = 0 ; i < privconn->networks.count && got < nnames ; i++) {
virNetworkObjLock(privconn->networks.objs[i]); virNetworkObjLock(privconn->networks.objs[i]);
if (!virNetworkObjIsActive(privconn->networks.objs[i])) { if (!virNetworkObjIsActive(privconn->networks.objs[i])) {
if (!(names[got] = strdup(privconn->networks.objs[i]->def->name))) { if (VIR_STRDUP(names[got], privconn->networks.objs[i]->def->name) < 0) {
virNetworkObjUnlock(privconn->networks.objs[i]); virNetworkObjUnlock(privconn->networks.objs[i]);
virReportOOMError();
goto cleanup; goto cleanup;
} }
got++; got++;

View File

@ -136,20 +136,9 @@ static char *parallelsMakePoolName(virConnectPtr conn, const char *path)
bool found = false; bool found = false;
int j; int j;
if (!(name = strdup(path))) { if ((!i && VIR_STRDUP(name, path) < 0) ||
virReportOOMError(); (i && virAsprintf(&name, "%s-%u", path, i) < 0))
return NULL; return NULL;
}
if (i == 0)
name = strdup(path);
else
ignore_value(virAsprintf(&name, "%s-%u", path, i));
if (!name) {
virReportOOMError();
return 0;
}
for (j = 0; j < strlen(name); j++) for (j = 0; j < strlen(name); j++)
if (name[j] == '/') if (name[j] == '/')
@ -195,7 +184,8 @@ parallelsPoolCreateByPath(virConnectPtr conn, const char *path)
} }
def->type = VIR_STORAGE_POOL_DIR; def->type = VIR_STORAGE_POOL_DIR;
def->target.path = strdup(path); if (VIR_STRDUP(def->target.path, path) < 0)
goto error;
if (!(pool = virStoragePoolObjAssignDef(pools, def))) if (!(pool = virStoragePoolObjAssignDef(pools, def)))
goto error; goto error;
@ -324,8 +314,8 @@ static int parallelsAddDiskVolume(virStoragePoolObjPtr pool,
if (!(def->target.path = realpath(diskPath, NULL))) if (!(def->target.path = realpath(diskPath, NULL)))
goto no_memory; goto no_memory;
if (!(def->key = strdup(def->target.path))) if (VIR_STRDUP(def->key, def->target.path) < 0)
goto no_memory; goto error;
if (VIR_REALLOC_N(pool->volumes.objs, pool->volumes.count + 1) < 0) if (VIR_REALLOC_N(pool->volumes.objs, pool->volumes.count + 1) < 0)
goto no_memory; goto no_memory;
@ -425,8 +415,8 @@ static int parallelsLoadPools(virConnectPtr conn)
char *base = NULL; char *base = NULL;
size_t i; size_t i;
if ((base = strdup(SYSCONFDIR "/libvirt")) == NULL) if (VIR_STRDUP(base, SYSCONFDIR "/libvirt") < 0)
goto out_of_memory; goto error;
/* Configuration path is /etc/libvirt/parallels-storage/... . */ /* Configuration path is /etc/libvirt/parallels-storage/... . */
if (virAsprintf(&storageState->configDir, if (virAsprintf(&storageState->configDir,
@ -540,9 +530,9 @@ parallelsConnectListStoragePools(virConnectPtr conn, char **const names, int nna
for (i = 0; i < privconn->pools.count && n < nnames; i++) { for (i = 0; i < privconn->pools.count && n < nnames; i++) {
virStoragePoolObjLock(privconn->pools.objs[i]); virStoragePoolObjLock(privconn->pools.objs[i]);
if (virStoragePoolObjIsActive(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]); virStoragePoolObjUnlock(privconn->pools.objs[i]);
goto no_memory; goto error;
} }
virStoragePoolObjUnlock(privconn->pools.objs[i]); virStoragePoolObjUnlock(privconn->pools.objs[i]);
} }
@ -550,8 +540,7 @@ parallelsConnectListStoragePools(virConnectPtr conn, char **const names, int nna
return n; return n;
no_memory: error:
virReportOOMError();
for (n = 0; n < nnames; n++) for (n = 0; n < nnames; n++)
VIR_FREE(names[n]); VIR_FREE(names[n]);
parallelsDriverUnlock(privconn); parallelsDriverUnlock(privconn);
@ -590,9 +579,9 @@ parallelsConnectListDefinedStoragePools(virConnectPtr conn,
for (i = 0; i < privconn->pools.count && n < nnames; i++) { for (i = 0; i < privconn->pools.count && n < nnames; i++) {
virStoragePoolObjLock(privconn->pools.objs[i]); virStoragePoolObjLock(privconn->pools.objs[i]);
if (!virStoragePoolObjIsActive(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]); virStoragePoolObjUnlock(privconn->pools.objs[i]);
goto no_memory; goto error;
} }
virStoragePoolObjUnlock(privconn->pools.objs[i]); virStoragePoolObjUnlock(privconn->pools.objs[i]);
} }
@ -600,8 +589,7 @@ parallelsConnectListDefinedStoragePools(virConnectPtr conn,
return n; return n;
no_memory: error:
virReportOOMError();
for (n = 0; n < nnames; n++) for (n = 0; n < nnames; n++)
VIR_FREE(names[n]); VIR_FREE(names[n]);
parallelsDriverUnlock(privconn); parallelsDriverUnlock(privconn);
@ -758,11 +746,8 @@ parallelsStoragePoolDefineXML(virConnectPtr conn,
} }
def = NULL; def = NULL;
pool->configFile = strdup("\0"); if (VIR_STRDUP(pool->configFile, "\0") < 0)
if (!pool->configFile) {
virReportOOMError();
goto cleanup; goto cleanup;
}
ret = virGetStoragePool(conn, pool->def->name, pool->def->uuid, ret = virGetStoragePool(conn, pool->def->name, pool->def->uuid,
NULL, NULL); NULL, NULL);
@ -1085,10 +1070,8 @@ parallelsStoragePoolListVolumes(virStoragePoolPtr pool,
} }
for (i = 0; i < privpool->volumes.count && n < maxnames; i++) { for (i = 0; i < privpool->volumes.count && n < maxnames; i++) {
if ((names[n++] = strdup(privpool->volumes.objs[i]->name)) == NULL) { if (VIR_STRDUP(names[n++], privpool->volumes.objs[i]->name) < 0)
virReportOOMError();
goto error; goto error;
}
} }
virStoragePoolObjUnlock(privpool); virStoragePoolObjUnlock(privpool);
@ -1271,11 +1254,8 @@ parallelsStorageVolDefineXML(virStoragePoolObjPtr pool,
goto cleanup; goto cleanup;
} }
privvol->key = strdup(privvol->target.path); if (VIR_STRDUP(privvol->key, privvol->target.path) < 0)
if (privvol->key == NULL) {
virReportOOMError();
goto cleanup; goto cleanup;
}
if (is_new) { if (is_new) {
xml_path = parallelsAddFileExt(privvol->target.path, ".xml"); xml_path = parallelsAddFileExt(privvol->target.path, ".xml");
@ -1412,11 +1392,8 @@ parallelsStorageVolCreateXMLFrom(virStoragePoolPtr pool,
goto cleanup; goto cleanup;
} }
privvol->key = strdup(privvol->target.path); if (VIR_STRDUP(privvol->key, privvol->target.path) < 0)
if (privvol->key == NULL) {
virReportOOMError();
goto cleanup; goto cleanup;
}
privpool->def->allocation += privvol->allocation; privpool->def->allocation += privvol->allocation;
privpool->def->available = (privpool->def->capacity - privpool->def->available = (privpool->def->capacity -
@ -1659,9 +1636,7 @@ parallelsStorageVolGetPath(virStorageVolPtr vol)
goto cleanup; goto cleanup;
} }
ret = strdup(privvol->target.path); ignore_value(VIR_STRDUP(ret, privvol->target.path));
if (ret == NULL)
virReportOOMError();
cleanup: cleanup:
if (privpool) if (privpool)