mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-11 15:27:47 +00:00
Adapt to VIR_STRDUP and VIR_STRNDUP in src/conf/*
This commit is contained in:
parent
25a2d944df
commit
bf1fe848c7
@ -31,7 +31,7 @@
|
||||
#include "viruuid.h"
|
||||
#include "cpu_conf.h"
|
||||
#include "virerror.h"
|
||||
|
||||
#include "virstring.h"
|
||||
|
||||
#define VIR_FROM_THIS VIR_FROM_CAPABILITIES
|
||||
|
||||
@ -228,7 +228,7 @@ virCapabilitiesAddHostFeature(virCapsPtr caps,
|
||||
caps->host.nfeatures, 1) < 0)
|
||||
return -1;
|
||||
|
||||
if ((caps->host.features[caps->host.nfeatures] = strdup(name)) == NULL)
|
||||
if (VIR_STRDUP(caps->host.features[caps->host.nfeatures], name) < 0)
|
||||
return -1;
|
||||
caps->host.nfeatures++;
|
||||
|
||||
@ -250,7 +250,7 @@ virCapabilitiesAddHostMigrateTransport(virCapsPtr caps,
|
||||
caps->host.nmigrateTrans, 1) < 0)
|
||||
return -1;
|
||||
|
||||
if ((caps->host.migrateTrans[caps->host.nmigrateTrans] = strdup(name)) == NULL)
|
||||
if (VIR_STRDUP(caps->host.migrateTrans[caps->host.nmigrateTrans], name) < 0)
|
||||
return -1;
|
||||
caps->host.nmigrateTrans++;
|
||||
|
||||
@ -334,7 +334,7 @@ virCapabilitiesAllocMachines(const char *const *names, int nnames)
|
||||
|
||||
for (i = 0; i < nnames; i++) {
|
||||
if (VIR_ALLOC(machines[i]) < 0 ||
|
||||
!(machines[i]->name = strdup(names[i]))) {
|
||||
VIR_STRDUP(machines[i]->name, names[i]) < 0) {
|
||||
virCapabilitiesFreeMachines(machines, nnames);
|
||||
return NULL;
|
||||
}
|
||||
@ -390,24 +390,21 @@ virCapabilitiesAddGuest(virCapsPtr caps,
|
||||
virCapsGuestPtr guest;
|
||||
|
||||
if (VIR_ALLOC(guest) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
|
||||
if ((guest->ostype = strdup(ostype)) == NULL)
|
||||
goto no_memory;
|
||||
if (VIR_STRDUP(guest->ostype, ostype) < 0)
|
||||
goto error;
|
||||
|
||||
guest->arch.id = arch;
|
||||
guest->arch.wordsize = virArchGetWordSize(arch);
|
||||
|
||||
if (emulator &&
|
||||
(guest->arch.defaultInfo.emulator = strdup(emulator)) == NULL)
|
||||
goto no_memory;
|
||||
if (loader &&
|
||||
(guest->arch.defaultInfo.loader = strdup(loader)) == NULL)
|
||||
goto no_memory;
|
||||
if (VIR_STRDUP(guest->arch.defaultInfo.emulator, emulator) < 0 ||
|
||||
VIR_STRDUP(guest->arch.defaultInfo.loader, loader) < 0)
|
||||
goto error;
|
||||
|
||||
if (VIR_RESIZE_N(caps->guests, caps->nguests_max,
|
||||
caps->nguests, 1) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
caps->guests[caps->nguests++] = guest;
|
||||
|
||||
if (nmachines) {
|
||||
@ -417,7 +414,7 @@ virCapabilitiesAddGuest(virCapsPtr caps,
|
||||
|
||||
return guest;
|
||||
|
||||
no_memory:
|
||||
error:
|
||||
virCapabilitiesFreeGuest(guest);
|
||||
return NULL;
|
||||
}
|
||||
@ -446,21 +443,16 @@ virCapabilitiesAddGuestDomain(virCapsGuestPtr guest,
|
||||
virCapsGuestDomainPtr dom;
|
||||
|
||||
if (VIR_ALLOC(dom) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
|
||||
if ((dom->type = strdup(hvtype)) == NULL)
|
||||
goto no_memory;
|
||||
|
||||
if (emulator &&
|
||||
(dom->info.emulator = strdup(emulator)) == NULL)
|
||||
goto no_memory;
|
||||
if (loader &&
|
||||
(dom->info.loader = strdup(loader)) == NULL)
|
||||
goto no_memory;
|
||||
if (VIR_STRDUP(dom->type, hvtype) < 0 ||
|
||||
VIR_STRDUP(dom->info.emulator, emulator) < 0 ||
|
||||
VIR_STRDUP(dom->info.loader, loader) < 0)
|
||||
goto error;
|
||||
|
||||
if (VIR_RESIZE_N(guest->arch.domains, guest->arch.ndomains_max,
|
||||
guest->arch.ndomains, 1) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
guest->arch.domains[guest->arch.ndomains] = dom;
|
||||
guest->arch.ndomains++;
|
||||
|
||||
@ -471,7 +463,7 @@ virCapabilitiesAddGuestDomain(virCapsGuestPtr guest,
|
||||
|
||||
return dom;
|
||||
|
||||
no_memory:
|
||||
error:
|
||||
virCapabilitiesFreeGuestDomain(dom);
|
||||
return NULL;
|
||||
}
|
||||
@ -497,7 +489,7 @@ virCapabilitiesAddGuestFeature(virCapsGuestPtr guest,
|
||||
if (VIR_ALLOC(feature) < 0)
|
||||
goto no_memory;
|
||||
|
||||
if ((feature->name = strdup(name)) == NULL)
|
||||
if (VIR_STRDUP(feature->name, name) < 0)
|
||||
goto no_memory;
|
||||
feature->defaultOn = defaultOn;
|
||||
feature->toggle = toggle;
|
||||
|
@ -99,10 +99,10 @@ virCPUDefCopyModel(virCPUDefPtr dst,
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
if ((src->model && !(dst->model = strdup(src->model)))
|
||||
|| (src->vendor && !(dst->vendor = strdup(src->vendor)))
|
||||
|| (src->vendor_id && !(dst->vendor_id = strdup(src->vendor_id)))
|
||||
|| VIR_ALLOC_N(dst->features, src->nfeatures) < 0)
|
||||
if (VIR_STRDUP(dst->model, src->model) < 0 ||
|
||||
VIR_STRDUP(dst->vendor, src->vendor) < 0 ||
|
||||
VIR_STRDUP(dst->vendor_id, src->vendor_id) < 0 ||
|
||||
VIR_ALLOC_N(dst->features, src->nfeatures) < 0)
|
||||
goto no_memory;
|
||||
dst->nfeatures_max = dst->nfeatures = src->nfeatures;
|
||||
|
||||
@ -118,8 +118,8 @@ virCPUDefCopyModel(virCPUDefPtr dst,
|
||||
dst->features[i].policy = src->features[i].policy;
|
||||
}
|
||||
|
||||
if (!(dst->features[i].name = strdup(src->features[i].name)))
|
||||
goto no_memory;
|
||||
if (VIR_STRDUP(dst->features[i].name, src->features[i].name) < 0)
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
@ -167,8 +167,8 @@ virCPUDefCopy(const virCPUDefPtr cpu)
|
||||
if (!copy->cells[i].cpumask)
|
||||
goto no_memory;
|
||||
|
||||
if (!(copy->cells[i].cpustr = strdup(cpu->cells[i].cpustr)))
|
||||
goto no_memory;
|
||||
if (VIR_STRDUP(copy->cells[i].cpustr, cpu->cells[i].cpustr) < 0)
|
||||
goto error;
|
||||
}
|
||||
copy->cells_cpus = cpu->cells_cpus;
|
||||
}
|
||||
@ -694,8 +694,8 @@ virCPUDefAddFeature(virCPUDefPtr def,
|
||||
if (def->type == VIR_CPU_TYPE_HOST)
|
||||
policy = -1;
|
||||
|
||||
if (!(def->features[def->nfeatures].name = strdup(name)))
|
||||
goto no_memory;
|
||||
if (VIR_STRDUP(def->features[def->nfeatures].name, name) < 0)
|
||||
return -1;
|
||||
|
||||
def->features[def->nfeatures].policy = policy;
|
||||
def->nfeatures++;
|
||||
|
@ -1365,60 +1365,35 @@ virDomainChrSourceDefCopy(virDomainChrSourceDefPtr dest,
|
||||
case VIR_DOMAIN_CHR_TYPE_DEV:
|
||||
case VIR_DOMAIN_CHR_TYPE_FILE:
|
||||
case VIR_DOMAIN_CHR_TYPE_PIPE:
|
||||
if (src->data.file.path &&
|
||||
!(dest->data.file.path = strdup(src->data.file.path))) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(dest->data.file.path, src->data.file.path) < 0)
|
||||
return -1;
|
||||
}
|
||||
break;
|
||||
|
||||
case VIR_DOMAIN_CHR_TYPE_UDP:
|
||||
if (src->data.udp.bindHost &&
|
||||
!(dest->data.udp.bindHost = strdup(src->data.udp.bindHost))) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(dest->data.udp.bindHost, src->data.udp.bindHost) < 0)
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (src->data.udp.bindService &&
|
||||
!(dest->data.udp.bindService = strdup(src->data.udp.bindService))) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(dest->data.udp.bindService, src->data.udp.bindService) < 0)
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (src->data.udp.connectHost &&
|
||||
!(dest->data.udp.connectHost = strdup(src->data.udp.connectHost))) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(dest->data.udp.connectHost, src->data.udp.connectHost) < 0)
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
if (src->data.udp.connectService &&
|
||||
!(dest->data.udp.connectService = strdup(src->data.udp.connectService))) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(dest->data.udp.connectService, src->data.udp.connectService) < 0)
|
||||
return -1;
|
||||
}
|
||||
break;
|
||||
|
||||
case VIR_DOMAIN_CHR_TYPE_TCP:
|
||||
if (src->data.tcp.host &&
|
||||
!(dest->data.tcp.host = strdup(src->data.tcp.host))) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(dest->data.tcp.host, src->data.tcp.host) < 0)
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (src->data.tcp.service &&
|
||||
!(dest->data.tcp.service = strdup(src->data.tcp.service))) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(dest->data.tcp.service, src->data.tcp.service) < 0)
|
||||
return -1;
|
||||
}
|
||||
break;
|
||||
|
||||
case VIR_DOMAIN_CHR_TYPE_UNIX:
|
||||
if (src->data.nix.path &&
|
||||
!(dest->data.nix.path = strdup(src->data.nix.path))) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(dest->data.nix.path, src->data.nix.path) < 0)
|
||||
return -1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@ -2422,14 +2397,9 @@ virDomainDeviceInfoCopy(virDomainDeviceInfoPtr dst,
|
||||
dst->alias = NULL;
|
||||
dst->romfile = NULL;
|
||||
|
||||
if (src->alias && !(dst->alias = strdup(src->alias))) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(dst->alias, src->alias) < 0 ||
|
||||
VIR_STRDUP(dst->romfile, src->romfile) < 0)
|
||||
return -1;
|
||||
}
|
||||
if (src->romfile && !(dst->romfile = strdup(src->romfile))) {
|
||||
virReportOOMError();
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -4282,11 +4252,8 @@ virSecurityLabelDefsParseXML(virDomainDefPtr def,
|
||||
/* Copy model from host. */
|
||||
VIR_DEBUG("Found seclabel without a model, using '%s'",
|
||||
host->secModels[0].model);
|
||||
def->seclabels[0]->model = strdup(host->secModels[0].model);
|
||||
if (!def->seclabels[0]->model) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(def->seclabels[0]->model, host->secModels[0].model) < 0)
|
||||
goto error;
|
||||
}
|
||||
} else {
|
||||
virReportError(VIR_ERR_XML_ERROR, "%s",
|
||||
_("missing security model in domain seclabel"));
|
||||
@ -5924,10 +5891,8 @@ virDomainActualNetDefParseXML(xmlNodePtr node,
|
||||
addrtype = virXPathString("string(./source/address/@type)", ctxt);
|
||||
/* if not explicitly stated, source/vendor implies usb device */
|
||||
if (!addrtype && virXPathNode("./source/vendor", ctxt) &&
|
||||
(addrtype = strdup("usb")) == NULL) {
|
||||
virReportOOMError();
|
||||
VIR_STRDUP(addrtype, "usb") < 0)
|
||||
goto error;
|
||||
}
|
||||
hostdev->mode = VIR_DOMAIN_HOSTDEV_MODE_SUBSYS;
|
||||
if (virDomainHostdevDefParseXMLSubsys(node, ctxt, addrtype,
|
||||
hostdev, flags) < 0) {
|
||||
@ -6318,10 +6283,8 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
|
||||
addrtype = virXPathString("string(./source/address/@type)", ctxt);
|
||||
/* if not explicitly stated, source/vendor implies usb device */
|
||||
if (!addrtype && virXPathNode("./source/vendor", ctxt) &&
|
||||
((addrtype = strdup("usb")) == NULL)) {
|
||||
virReportOOMError();
|
||||
VIR_STRDUP(addrtype, "usb") < 0)
|
||||
goto error;
|
||||
}
|
||||
hostdev->mode = VIR_DOMAIN_HOSTDEV_MODE_SUBSYS;
|
||||
if (virDomainHostdevDefParseXMLSubsys(node, ctxt, addrtype,
|
||||
hostdev, flags) < 0) {
|
||||
@ -7206,10 +7169,8 @@ virDomainTPMDefParseXML(const xmlNodePtr node,
|
||||
switch (def->type) {
|
||||
case VIR_DOMAIN_TPM_TYPE_PASSTHROUGH:
|
||||
path = virXPathString("string(./backend/device/@path)", ctxt);
|
||||
if (!path && !(path = strdup(VIR_DOMAIN_TPM_DEFAULT_DEVICE))) {
|
||||
virReportOOMError();
|
||||
if (!path && VIR_STRDUP(path, VIR_DOMAIN_TPM_DEFAULT_DEVICE) < 0)
|
||||
goto error;
|
||||
}
|
||||
def->data.passthrough.source.data.file.path = path;
|
||||
def->data.passthrough.source.type = VIR_DOMAIN_CHR_TYPE_DEV;
|
||||
path = NULL;
|
||||
@ -9025,10 +8986,8 @@ virDomainRedirFilterUsbVersionHelper(const char *version,
|
||||
unsigned int minor;
|
||||
unsigned int hex;
|
||||
|
||||
if (!(version_copy = strdup(version))) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(version_copy, version) < 0)
|
||||
return -1;
|
||||
}
|
||||
|
||||
len = strlen(version_copy);
|
||||
/*
|
||||
@ -9987,9 +9946,7 @@ virDomainDefGetDefaultEmulator(virDomainDefPtr def,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!(retemu = strdup(emulator)))
|
||||
virReportOOMError();
|
||||
|
||||
ignore_value(VIR_STRDUP(retemu, emulator));
|
||||
return retemu;
|
||||
}
|
||||
|
||||
@ -11095,10 +11052,8 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
def->os.type = virXPathString("string(./os/type[1])", ctxt);
|
||||
if (!def->os.type) {
|
||||
if (def->os.bootloader) {
|
||||
def->os.type = strdup("xen");
|
||||
if (!def->os.type) {
|
||||
goto no_memory;
|
||||
}
|
||||
if (VIR_STRDUP(def->os.type, "xen") < 0)
|
||||
goto error;
|
||||
} else {
|
||||
virReportError(VIR_ERR_OS_TYPE,
|
||||
"%s", _("no OS type"));
|
||||
@ -11113,9 +11068,8 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
if (STREQ(def->os.type, "linux") &&
|
||||
def->virtType == VIR_DOMAIN_VIRT_XEN) {
|
||||
VIR_FREE(def->os.type);
|
||||
if (!(def->os.type = strdup("xen"))) {
|
||||
goto no_memory;
|
||||
}
|
||||
if (VIR_STRDUP(def->os.type, "xen") < 0)
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (!virCapabilitiesSupportsGuestOSType(caps, def->os.type)) {
|
||||
@ -11169,11 +11123,8 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
def->os.type,
|
||||
def->os.arch,
|
||||
virDomainVirtTypeToString(def->virtType));
|
||||
if (defaultMachine != NULL) {
|
||||
if (!(def->os.machine = strdup(defaultMachine))) {
|
||||
goto no_memory;
|
||||
}
|
||||
}
|
||||
if (VIR_STRDUP(def->os.machine, defaultMachine) < 0)
|
||||
goto error;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -11202,8 +11153,9 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
_("No data supplied for <initarg> element"));
|
||||
goto error;
|
||||
}
|
||||
if (!(def->os.initargv[i] = strdup((const char*)nodes[i]->children->content)))
|
||||
goto no_memory;
|
||||
if (VIR_STRDUP(def->os.initargv[i],
|
||||
(const char*) nodes[i]->children->content) < 0)
|
||||
goto error;
|
||||
}
|
||||
def->os.initargv[n] = NULL;
|
||||
VIR_FREE(nodes);
|
||||
@ -16866,7 +16818,7 @@ virDomainObjListCopyInactiveNames(void *payload,
|
||||
|
||||
virObjectLock(obj);
|
||||
if (!virDomainObjIsActive(obj) && data->numnames < data->maxnames) {
|
||||
if (!(data->names[data->numnames] = strdup(obj->def->name)))
|
||||
if (VIR_STRDUP(data->names[data->numnames], obj->def->name) < 0)
|
||||
data->oom = 1;
|
||||
else
|
||||
data->numnames++;
|
||||
@ -16888,7 +16840,6 @@ virDomainObjListGetInactiveNames(virDomainObjListPtr doms,
|
||||
if (data.oom) {
|
||||
for (i = 0; i < data.numnames; i++)
|
||||
VIR_FREE(data.names[i]);
|
||||
virReportOOMError();
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -17419,12 +17370,9 @@ virDomainGraphicsListenSetAddress(virDomainGraphicsDefPtr def,
|
||||
return 0;
|
||||
}
|
||||
|
||||
listenInfo->address = (len == -1) ? strdup(address) : strndup(address, len);
|
||||
if (!listenInfo->address) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRNDUP(listenInfo->address, address,
|
||||
len == -1 ? strlen(address) : len) < 0)
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -17461,12 +17409,9 @@ virDomainGraphicsListenSetNetwork(virDomainGraphicsDefPtr def,
|
||||
return 0;
|
||||
}
|
||||
|
||||
listenInfo->network = (len == -1) ? strdup(network) : strndup(network, len);
|
||||
if (!listenInfo->network) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRNDUP(listenInfo->network, network,
|
||||
len == -1 ? strlen(network) : len) < 0)
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -17801,7 +17746,7 @@ virDomainDefGenSecurityLabelDef(const char *model)
|
||||
virSecurityLabelDefPtr seclabel = NULL;
|
||||
|
||||
if (VIR_ALLOC(seclabel) < 0 ||
|
||||
(model && !(seclabel->model = strdup(model)))) {
|
||||
VIR_STRDUP(seclabel->model, model) < 0) {
|
||||
virReportOOMError();
|
||||
virSecurityLabelDefFree(seclabel);
|
||||
seclabel = NULL;
|
||||
@ -17816,7 +17761,7 @@ virDomainDiskDefGenSecurityLabelDef(const char *model)
|
||||
virSecurityDeviceLabelDefPtr seclabel = NULL;
|
||||
|
||||
if (VIR_ALLOC(seclabel) < 0 ||
|
||||
(model && !(seclabel->model = strdup(model)))) {
|
||||
VIR_STRDUP(seclabel->model, model) < 0) {
|
||||
virReportOOMError();
|
||||
virSecurityDeviceLabelDefFree(seclabel);
|
||||
seclabel = NULL;
|
||||
|
@ -28,6 +28,7 @@
|
||||
#include "datatypes.h"
|
||||
#include "viralloc.h"
|
||||
#include "virerror.h"
|
||||
#include "virstring.h"
|
||||
|
||||
#define VIR_FROM_THIS VIR_FROM_NONE
|
||||
|
||||
@ -385,8 +386,8 @@ virDomainEventCallbackListAddID(virConnectPtr conn,
|
||||
if (dom) {
|
||||
if (VIR_ALLOC(event->dom) < 0)
|
||||
goto no_memory;
|
||||
if (!(event->dom->name = strdup(dom->name)))
|
||||
goto no_memory;
|
||||
if (VIR_STRDUP(event->dom->name, dom->name) < 0)
|
||||
goto error;
|
||||
memcpy(event->dom->uuid, dom->uuid, VIR_UUID_BUFLEN);
|
||||
event->dom->id = dom->id;
|
||||
}
|
||||
@ -416,7 +417,7 @@ virDomainEventCallbackListAddID(virConnectPtr conn,
|
||||
|
||||
no_memory:
|
||||
virReportOOMError();
|
||||
|
||||
error:
|
||||
if (event) {
|
||||
if (event->dom)
|
||||
VIR_FREE(event->dom->name);
|
||||
@ -668,8 +669,7 @@ static virDomainEventPtr virDomainEventNewInternal(int eventID,
|
||||
}
|
||||
|
||||
event->eventID = eventID;
|
||||
if (!(event->dom.name = strdup(name))) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(event->dom.name, name) < 0) {
|
||||
VIR_FREE(event);
|
||||
return NULL;
|
||||
}
|
||||
@ -791,9 +791,9 @@ static virDomainEventPtr virDomainEventIOErrorNewFromDomImpl(int event,
|
||||
|
||||
if (ev) {
|
||||
ev->data.ioError.action = action;
|
||||
if (!(ev->data.ioError.srcPath = strdup(srcPath)) ||
|
||||
!(ev->data.ioError.devAlias = strdup(devAlias)) ||
|
||||
(reason && !(ev->data.ioError.reason = strdup(reason)))) {
|
||||
if (VIR_STRDUP(ev->data.ioError.srcPath, srcPath) < 0 ||
|
||||
VIR_STRDUP(ev->data.ioError.devAlias, devAlias) < 0 ||
|
||||
VIR_STRDUP(ev->data.ioError.reason, reason) < 0) {
|
||||
virDomainEventFree(ev);
|
||||
ev = NULL;
|
||||
}
|
||||
@ -815,9 +815,9 @@ static virDomainEventPtr virDomainEventIOErrorNewFromObjImpl(int event,
|
||||
|
||||
if (ev) {
|
||||
ev->data.ioError.action = action;
|
||||
if (!(ev->data.ioError.srcPath = strdup(srcPath)) ||
|
||||
!(ev->data.ioError.devAlias = strdup(devAlias)) ||
|
||||
(reason && !(ev->data.ioError.reason = strdup(reason)))) {
|
||||
if (VIR_STRDUP(ev->data.ioError.srcPath, srcPath) < 0 ||
|
||||
VIR_STRDUP(ev->data.ioError.devAlias, devAlias) < 0 ||
|
||||
VIR_STRDUP(ev->data.ioError.reason, reason) < 0) {
|
||||
virDomainEventFree(ev);
|
||||
ev = NULL;
|
||||
}
|
||||
@ -882,7 +882,7 @@ virDomainEventPtr virDomainEventGraphicsNewFromDom(virDomainPtr dom,
|
||||
|
||||
if (ev) {
|
||||
ev->data.graphics.phase = phase;
|
||||
if (!(ev->data.graphics.authScheme = strdup(authScheme))) {
|
||||
if (VIR_STRDUP(ev->data.graphics.authScheme, authScheme) < 0) {
|
||||
virDomainEventFree(ev);
|
||||
return NULL;
|
||||
}
|
||||
@ -907,7 +907,7 @@ virDomainEventPtr virDomainEventGraphicsNewFromObj(virDomainObjPtr obj,
|
||||
|
||||
if (ev) {
|
||||
ev->data.graphics.phase = phase;
|
||||
if (!(ev->data.graphics.authScheme = strdup(authScheme))) {
|
||||
if (VIR_STRDUP(ev->data.graphics.authScheme, authScheme) < 0) {
|
||||
virDomainEventFree(ev);
|
||||
return NULL;
|
||||
}
|
||||
@ -928,8 +928,7 @@ virDomainEventBlockJobNew(int id, const char *name, unsigned char *uuid,
|
||||
id, name, uuid);
|
||||
|
||||
if (ev) {
|
||||
if (!(ev->data.blockJob.path = strdup(path))) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(ev->data.blockJob.path, path) < 0) {
|
||||
virDomainEventFree(ev);
|
||||
return NULL;
|
||||
}
|
||||
@ -987,15 +986,13 @@ virDomainEventDiskChangeNew(int id, const char *name,
|
||||
id, name, uuid);
|
||||
|
||||
if (ev) {
|
||||
if (!(ev->data.diskChange.devAlias = strdup(devAlias)))
|
||||
if (VIR_STRDUP(ev->data.diskChange.devAlias, devAlias) < 0)
|
||||
goto error;
|
||||
|
||||
if (oldSrcPath &&
|
||||
!(ev->data.diskChange.oldSrcPath = strdup(oldSrcPath)))
|
||||
if (VIR_STRDUP(ev->data.diskChange.oldSrcPath, oldSrcPath) < 0)
|
||||
goto error;
|
||||
|
||||
if (newSrcPath &&
|
||||
!(ev->data.diskChange.newSrcPath = strdup(newSrcPath)))
|
||||
if (VIR_STRDUP(ev->data.diskChange.newSrcPath, newSrcPath) < 0)
|
||||
goto error;
|
||||
|
||||
ev->data.diskChange.reason = reason;
|
||||
@ -1004,7 +1001,6 @@ virDomainEventDiskChangeNew(int id, const char *name,
|
||||
return ev;
|
||||
|
||||
error:
|
||||
virReportOOMError();
|
||||
virDomainEventFree(ev);
|
||||
return NULL;
|
||||
}
|
||||
@ -1042,7 +1038,7 @@ virDomainEventTrayChangeNew(int id, const char *name,
|
||||
id, name, uuid);
|
||||
|
||||
if (ev) {
|
||||
if (!(ev->data.trayChange.devAlias = strdup(devAlias)))
|
||||
if (VIR_STRDUP(ev->data.trayChange.devAlias, devAlias) < 0)
|
||||
goto error;
|
||||
|
||||
ev->data.trayChange.reason = reason;
|
||||
@ -1051,7 +1047,6 @@ virDomainEventTrayChangeNew(int id, const char *name,
|
||||
return ev;
|
||||
|
||||
error:
|
||||
virReportOOMError();
|
||||
virDomainEventFree(ev);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -29,7 +29,7 @@
|
||||
#include "virerror.h"
|
||||
#include "datatypes.h"
|
||||
#include "viralloc.h"
|
||||
|
||||
#include "virstring.h"
|
||||
#include "node_device_conf.h"
|
||||
#include "virxml.h"
|
||||
#include "virbuffer.h"
|
||||
@ -1164,13 +1164,9 @@ virNodeDeviceDefParseXML(xmlXPathContextPtr ctxt,
|
||||
goto error;
|
||||
}
|
||||
} else {
|
||||
def->name = strdup("new device");
|
||||
|
||||
if (!def->name) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(def->name, "new device") < 0)
|
||||
goto error;
|
||||
}
|
||||
}
|
||||
|
||||
/* Extract device parent, if any */
|
||||
def->parent = virXPathString("string(./parent[1])", ctxt);
|
||||
@ -1284,14 +1280,18 @@ virNodeDeviceGetWWNs(virNodeDeviceDefPtr def,
|
||||
char **wwpn)
|
||||
{
|
||||
virNodeDevCapsDefPtr cap = NULL;
|
||||
int ret = 0;
|
||||
int ret = -1;
|
||||
|
||||
cap = def->caps;
|
||||
while (cap != NULL) {
|
||||
if (cap->type == VIR_NODE_DEV_CAP_SCSI_HOST &&
|
||||
cap->data.scsi_host.flags & VIR_NODE_DEV_CAP_FLAG_HBA_FC_HOST) {
|
||||
*wwnn = strdup(cap->data.scsi_host.wwnn);
|
||||
*wwpn = strdup(cap->data.scsi_host.wwpn);
|
||||
if (VIR_STRDUP(*wwnn, cap->data.scsi_host.wwnn) < 0 ||
|
||||
VIR_STRDUP(*wwpn, cap->data.scsi_host.wwpn) < 0) {
|
||||
/* Free the other one, if allocated... */
|
||||
VIR_FREE(*wwnn);
|
||||
goto cleanup;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@ -1301,15 +1301,11 @@ virNodeDeviceGetWWNs(virNodeDeviceDefPtr def,
|
||||
if (cap == NULL) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
"%s", _("Device is not a fibre channel HBA"));
|
||||
ret = -1;
|
||||
} else if (*wwnn == NULL || *wwpn == NULL) {
|
||||
/* Free the other one, if allocated... */
|
||||
VIR_FREE(*wwnn);
|
||||
VIR_FREE(*wwpn);
|
||||
ret = -1;
|
||||
virReportOOMError();
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
cleanup:
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -400,12 +400,8 @@ virNWFilterRuleDefAddString(virNWFilterRuleDefPtr nwf,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
nwf->strings[nwf->nstrings] = strndup(string, maxstrlen);
|
||||
|
||||
if (!nwf->strings[nwf->nstrings]) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRNDUP(nwf->strings[nwf->nstrings], string, maxstrlen) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
nwf->nstrings++;
|
||||
|
||||
@ -2556,13 +2552,10 @@ virNWFilterDefParseXML(xmlXPathContextPtr ctxt) {
|
||||
}
|
||||
chain = NULL;
|
||||
} else {
|
||||
ret->chainsuffix = strdup(virNWFilterChainSuffixTypeToString(
|
||||
VIR_NWFILTER_CHAINSUFFIX_ROOT));
|
||||
if (ret->chainsuffix == NULL) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(ret->chainsuffix,
|
||||
virNWFilterChainSuffixTypeToString(VIR_NWFILTER_CHAINSUFFIX_ROOT)) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
|
||||
uuid = virXPathString("string(./uuid)", ctxt);
|
||||
if (uuid == NULL) {
|
||||
@ -3094,9 +3087,7 @@ virNWFilterObjLoad(virConnectPtr conn,
|
||||
}
|
||||
|
||||
VIR_FREE(nwfilter->configFile); /* for driver reload */
|
||||
nwfilter->configFile = strdup(path);
|
||||
if (nwfilter->configFile == NULL) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(nwfilter->configFile, path) < 0) {
|
||||
virNWFilterDefFree(def);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -79,19 +79,15 @@ virNWFilterVarValueCopy(const virNWFilterVarValuePtr val)
|
||||
|
||||
switch (res->valType) {
|
||||
case NWFILTER_VALUE_TYPE_SIMPLE:
|
||||
if (val->u.simple.value) {
|
||||
res->u.simple.value = strdup(val->u.simple.value);
|
||||
if (!res->u.simple.value)
|
||||
if (VIR_STRDUP(res->u.simple.value, val->u.simple.value) < 0)
|
||||
goto err_exit;
|
||||
}
|
||||
break;
|
||||
case NWFILTER_VALUE_TYPE_ARRAY:
|
||||
if (VIR_ALLOC_N(res->u.array.values, val->u.array.nValues) < 0)
|
||||
goto err_exit;
|
||||
res->u.array.nValues = val->u.array.nValues;
|
||||
for (i = 0; i < val->u.array.nValues; i++) {
|
||||
str = strdup(val->u.array.values[i]);
|
||||
if (!str)
|
||||
if (VIR_STRDUP(str, val->u.array.values[i]) < 0)
|
||||
goto err_exit;
|
||||
res->u.array.values[i] = str;
|
||||
}
|
||||
@ -133,12 +129,10 @@ virNWFilterVarValueCreateSimple(char *value)
|
||||
virNWFilterVarValuePtr
|
||||
virNWFilterVarValueCreateSimpleCopyValue(const char *value)
|
||||
{
|
||||
char *val = strdup(value);
|
||||
char *val;
|
||||
|
||||
if (!val) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(val, value) < 0)
|
||||
return NULL;
|
||||
}
|
||||
return virNWFilterVarValueCreateSimple(val);
|
||||
}
|
||||
|
||||
@ -654,17 +648,15 @@ virNWFilterHashTablePut(virNWFilterHashTablePtr table,
|
||||
{
|
||||
if (!virHashLookup(table->hashTable, name)) {
|
||||
if (copyName) {
|
||||
name = strdup(name);
|
||||
if (!name) {
|
||||
virReportOOMError();
|
||||
char *newName;
|
||||
if (VIR_STRDUP(newName, name) < 0)
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (VIR_REALLOC_N(table->names, table->nNames + 1) < 0) {
|
||||
VIR_FREE(name);
|
||||
return -1;
|
||||
}
|
||||
table->names[table->nNames++] = (char *)name;
|
||||
table->names[table->nNames++] = newName;
|
||||
}
|
||||
|
||||
if (virHashAddEntry(table->hashTable, name, val) < 0) {
|
||||
@ -1006,11 +998,8 @@ virNWFilterVarAccessParse(const char *varAccess)
|
||||
|
||||
if (input[idx] == '\0') {
|
||||
/* in the form 'IP', which is equivalent to IP[@0] */
|
||||
dest->varName = strndup(input, idx);
|
||||
if (!dest->varName) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRNDUP(dest->varName, input, idx) < 0)
|
||||
goto err_exit;
|
||||
}
|
||||
dest->accessType = VIR_NWFILTER_VAR_ACCESS_ITERATOR;
|
||||
dest->u.iterId = 0;
|
||||
return dest;
|
||||
@ -1023,11 +1012,8 @@ virNWFilterVarAccessParse(const char *varAccess)
|
||||
|
||||
varNameLen = idx;
|
||||
|
||||
dest->varName = strndup(input, varNameLen);
|
||||
if (!dest->varName) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRNDUP(dest->varName, input, varNameLen) < 0)
|
||||
goto err_exit;
|
||||
}
|
||||
|
||||
input += idx + 1;
|
||||
virSkipSpaces(&input);
|
||||
|
@ -463,12 +463,10 @@ virDomainSnapshotAlignDisks(virDomainSnapshotDefPtr def,
|
||||
}
|
||||
if (STRNEQ(disk->name, def->dom->disks[idx]->dst)) {
|
||||
VIR_FREE(disk->name);
|
||||
if (!(disk->name = strdup(def->dom->disks[idx]->dst))) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(disk->name, def->dom->disks[idx]->dst) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Provide defaults for all remaining disks. */
|
||||
ndisks = def->ndisks;
|
||||
@ -485,10 +483,8 @@ virDomainSnapshotAlignDisks(virDomainSnapshotDefPtr def,
|
||||
if (inuse)
|
||||
continue;
|
||||
disk = &def->disks[ndisks++];
|
||||
if (!(disk->name = strdup(def->dom->disks[i]->dst))) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(disk->name, def->dom->disks[i]->dst) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
disk->index = i;
|
||||
disk->snapshot = def->dom->disks[i]->snapshot;
|
||||
if (!disk->snapshot)
|
||||
@ -768,9 +764,8 @@ static void virDomainSnapshotObjListCopyNames(void *payload,
|
||||
return;
|
||||
|
||||
if (data->names && data->count < data->maxnames &&
|
||||
!(data->names[data->count] = strdup(obj->def->name))) {
|
||||
VIR_STRDUP(data->names[data->count], obj->def->name) < 0) {
|
||||
data->error = true;
|
||||
virReportOOMError();
|
||||
return;
|
||||
}
|
||||
data->count++;
|
||||
|
@ -888,13 +888,10 @@ virStoragePoolDefParseXML(xmlXPathContextPtr ctxt)
|
||||
if (options->flags & VIR_STORAGE_POOL_SOURCE_NAME) {
|
||||
if (ret->source.name == NULL) {
|
||||
/* source name defaults to pool name */
|
||||
ret->source.name = strdup(ret->name);
|
||||
if (ret->source.name == NULL) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(ret->source.name, ret->name) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (options->flags & VIR_STORAGE_POOL_SOURCE_ADAPTER) {
|
||||
if (!ret->source.adapter.type) {
|
||||
@ -1705,16 +1702,12 @@ virStoragePoolObjLoad(virStoragePoolObjListPtr pools,
|
||||
}
|
||||
|
||||
VIR_FREE(pool->configFile); /* for driver reload */
|
||||
pool->configFile = strdup(path);
|
||||
if (pool->configFile == NULL) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(pool->configFile, path) < 0) {
|
||||
virStoragePoolDefFree(def);
|
||||
return NULL;
|
||||
}
|
||||
VIR_FREE(pool->autostartLink); /* for driver reload */
|
||||
pool->autostartLink = strdup(autostartLink);
|
||||
if (pool->autostartLink == NULL) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(pool->autostartLink, autostartLink) < 0) {
|
||||
virStoragePoolDefFree(def);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ typedef struct _virChrdevStreamInfo virChrdevStreamInfo;
|
||||
typedef virChrdevStreamInfo *virChrdevStreamInfoPtr;
|
||||
struct _virChrdevStreamInfo {
|
||||
virChrdevsPtr devs;
|
||||
const char *path;
|
||||
char *path;
|
||||
};
|
||||
|
||||
#ifdef VIR_CHRDEV_LOCK_FILE_PATH
|
||||
@ -73,10 +73,8 @@ static char *virChrdevLockFilePath(const char *dev)
|
||||
char *filename;
|
||||
char *p;
|
||||
|
||||
if (!(devCopy = strdup(dev))) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(devCopy, dev) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
/* skip the leading "/dev/" */
|
||||
filename = STRSKIP(devCopy, "/dev");
|
||||
@ -341,7 +339,7 @@ int virChrdevOpen(virChrdevsPtr devs,
|
||||
{
|
||||
virChrdevStreamInfoPtr cbdata = NULL;
|
||||
virStreamPtr savedStream;
|
||||
const char *path;
|
||||
char *path;
|
||||
int ret;
|
||||
|
||||
switch (source->type) {
|
||||
@ -401,10 +399,8 @@ int virChrdevOpen(virChrdevsPtr devs,
|
||||
goto error;
|
||||
|
||||
cbdata->devs = devs;
|
||||
if (!(cbdata->path = strdup(path))) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(cbdata->path, path) < 0)
|
||||
goto error;
|
||||
}
|
||||
|
||||
/* open the character device */
|
||||
switch (source->type) {
|
||||
|
Loading…
Reference in New Issue
Block a user