mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 19:32:19 +00:00
Adapt to VIR_ALLOC and virAsprintf in src/conf/*
This commit is contained in:
parent
abe6855b9e
commit
f2d5e864a2
@ -103,7 +103,7 @@ virCPUDefCopyModel(virCPUDefPtr dst,
|
||||
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;
|
||||
return -1;
|
||||
dst->nfeatures_max = dst->nfeatures = src->nfeatures;
|
||||
|
||||
for (i = 0; i < dst->nfeatures; i++) {
|
||||
@ -123,10 +123,6 @@ virCPUDefCopyModel(virCPUDefPtr dst,
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
no_memory:
|
||||
virReportOOMError();
|
||||
return -1;
|
||||
}
|
||||
|
||||
virCPUDefPtr
|
||||
@ -135,12 +131,9 @@ virCPUDefCopy(const virCPUDefPtr cpu)
|
||||
virCPUDefPtr copy;
|
||||
unsigned int i;
|
||||
|
||||
if (!cpu)
|
||||
if (!cpu || VIR_ALLOC(copy) < 0)
|
||||
return NULL;
|
||||
|
||||
if (VIR_ALLOC(copy) < 0)
|
||||
goto no_memory;
|
||||
|
||||
copy->type = cpu->type;
|
||||
copy->mode = cpu->mode;
|
||||
copy->match = cpu->match;
|
||||
@ -155,7 +148,7 @@ virCPUDefCopy(const virCPUDefPtr cpu)
|
||||
|
||||
if (cpu->ncells) {
|
||||
if (VIR_ALLOC_N(copy->cells, cpu->ncells) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
copy->ncells_max = copy->ncells = cpu->ncells;
|
||||
|
||||
for (i = 0; i < cpu->ncells; i++) {
|
||||
@ -165,7 +158,7 @@ virCPUDefCopy(const virCPUDefPtr cpu)
|
||||
copy->cells[i].cpumask = virBitmapNewCopy(cpu->cells[i].cpumask);
|
||||
|
||||
if (!copy->cells[i].cpumask)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
|
||||
if (VIR_STRDUP(copy->cells[i].cpustr, cpu->cells[i].cpustr) < 0)
|
||||
goto error;
|
||||
@ -175,8 +168,6 @@ virCPUDefCopy(const virCPUDefPtr cpu)
|
||||
|
||||
return copy;
|
||||
|
||||
no_memory:
|
||||
virReportOOMError();
|
||||
error:
|
||||
virCPUDefFree(copy);
|
||||
return NULL;
|
||||
@ -202,10 +193,8 @@ virCPUDefParseXML(const xmlNodePtr node,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (mode == VIR_CPU_TYPE_AUTO) {
|
||||
if (virXPathBoolean("boolean(./arch)", ctxt)) {
|
||||
@ -383,7 +372,7 @@ virCPUDefParseXML(const xmlNodePtr node,
|
||||
|
||||
if (VIR_RESIZE_N(def->features, def->nfeatures_max,
|
||||
def->nfeatures, n) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
def->nfeatures = n;
|
||||
}
|
||||
|
||||
@ -443,7 +432,7 @@ virCPUDefParseXML(const xmlNodePtr node,
|
||||
|
||||
if (VIR_RESIZE_N(def->cells, def->ncells_max,
|
||||
def->ncells, n) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
|
||||
def->ncells = n;
|
||||
|
||||
@ -490,9 +479,6 @@ cleanup:
|
||||
VIR_FREE(nodes);
|
||||
return def;
|
||||
|
||||
no_memory:
|
||||
virReportOOMError();
|
||||
|
||||
error:
|
||||
virCPUDefFree(def);
|
||||
def = NULL;
|
||||
@ -689,7 +675,7 @@ virCPUDefAddFeature(virCPUDefPtr def,
|
||||
|
||||
if (VIR_RESIZE_N(def->features, def->nfeatures_max,
|
||||
def->nfeatures, 1) < 0)
|
||||
goto no_memory;
|
||||
return -1;
|
||||
|
||||
if (def->type == VIR_CPU_TYPE_HOST)
|
||||
policy = -1;
|
||||
@ -701,10 +687,6 @@ virCPUDefAddFeature(virCPUDefPtr def,
|
||||
def->nfeatures++;
|
||||
|
||||
return 0;
|
||||
|
||||
no_memory:
|
||||
virReportOOMError();
|
||||
return -1;
|
||||
}
|
||||
|
||||
bool
|
||||
|
@ -1603,15 +1603,9 @@ virDomainHostdevDefPtr virDomainHostdevDefAlloc(void)
|
||||
{
|
||||
virDomainHostdevDefPtr def = NULL;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
return NULL;
|
||||
}
|
||||
if (VIR_ALLOC(def->info) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0 ||
|
||||
VIR_ALLOC(def->info) < 0)
|
||||
VIR_FREE(def);
|
||||
return NULL;
|
||||
}
|
||||
return def;
|
||||
}
|
||||
|
||||
@ -1793,21 +1787,20 @@ virDomainVcpuPinDefCopy(virDomainVcpuPinDefPtr *src, int nvcpupin)
|
||||
int i = 0;
|
||||
virDomainVcpuPinDefPtr *ret = NULL;
|
||||
|
||||
if (VIR_ALLOC_N(ret, nvcpupin) < 0) {
|
||||
goto no_memory;
|
||||
}
|
||||
if (VIR_ALLOC_N(ret, nvcpupin) < 0)
|
||||
goto error;
|
||||
|
||||
for (i = 0; i < nvcpupin; i++) {
|
||||
if (VIR_ALLOC(ret[i]) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
ret[i]->vcpuid = src[i]->vcpuid;
|
||||
if ((ret[i]->cpumask = virBitmapNewCopy(src[i]->cpumask)) == NULL)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
||||
no_memory:
|
||||
error:
|
||||
if (ret) {
|
||||
for (; i >= 0; --i) {
|
||||
if (ret[i]) {
|
||||
@ -1817,7 +1810,6 @@ no_memory:
|
||||
}
|
||||
VIR_FREE(ret);
|
||||
}
|
||||
virReportOOMError();
|
||||
|
||||
return NULL;
|
||||
}
|
||||
@ -2031,10 +2023,8 @@ virDomainObjNew(virDomainXMLOptionPtr xmlopt)
|
||||
return NULL;
|
||||
|
||||
if (xmlopt->privateData.alloc) {
|
||||
if (!(domain->privateData = (xmlopt->privateData.alloc)())) {
|
||||
virReportOOMError();
|
||||
if (!(domain->privateData = (xmlopt->privateData.alloc)()))
|
||||
goto error;
|
||||
}
|
||||
domain->privateDataFreeFunc = xmlopt->privateData.free;
|
||||
}
|
||||
|
||||
@ -2060,10 +2050,8 @@ virDomainDefPtr virDomainDefNew(const char *name,
|
||||
{
|
||||
virDomainDefPtr def;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (VIR_STRDUP(def->name, name) < 0) {
|
||||
VIR_FREE(def);
|
||||
@ -2664,7 +2652,7 @@ virDomainDefRejectDuplicateControllers(virDomainDefPtr def)
|
||||
|
||||
for (i = 0; i < VIR_DOMAIN_CONTROLLER_TYPE_LAST; i++) {
|
||||
if (max_idx[i] >= 0 && !(bitmaps[i] = virBitmapNew(max_idx[i] + 1)))
|
||||
goto no_memory;
|
||||
goto cleanup;
|
||||
nbitmaps++;
|
||||
}
|
||||
|
||||
@ -2690,10 +2678,6 @@ cleanup:
|
||||
for (i = 0; i < nbitmaps; i++)
|
||||
virBitmapFree(bitmaps[i]);
|
||||
return ret;
|
||||
|
||||
no_memory:
|
||||
virReportOOMError();
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
|
||||
@ -2749,10 +2733,10 @@ virDomainDefPostParseInternal(virDomainDefPtr def,
|
||||
|
||||
/* create the serial port definition from the console definition */
|
||||
if (def->nserials == 0) {
|
||||
if (VIR_APPEND_ELEMENT_QUIET(def->serials,
|
||||
if (VIR_APPEND_ELEMENT(def->serials,
|
||||
def->nserials,
|
||||
def->consoles[0]) < 0)
|
||||
goto no_memory;
|
||||
return -1;
|
||||
|
||||
/* modify it to be a serial port */
|
||||
def->serials[0]->deviceType = VIR_DOMAIN_CHR_DEVICE_TYPE_SERIAL;
|
||||
@ -2770,7 +2754,7 @@ virDomainDefPostParseInternal(virDomainDefPtr def,
|
||||
if (!def->consoles[0]) {
|
||||
/* allocate a new console type for the stolen one */
|
||||
if (VIR_ALLOC(def->consoles[0]) < 0)
|
||||
goto no_memory;
|
||||
return -1;
|
||||
|
||||
/* Create an console alias for the serial port */
|
||||
def->consoles[0]->deviceType = VIR_DOMAIN_CHR_DEVICE_TYPE_CONSOLE;
|
||||
@ -2781,10 +2765,6 @@ virDomainDefPostParseInternal(virDomainDefPtr def,
|
||||
if (virDomainDefRejectDuplicateControllers(def) < 0)
|
||||
return -1;
|
||||
return 0;
|
||||
|
||||
no_memory:
|
||||
virReportOOMError();
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
@ -4258,10 +4238,8 @@ virSecurityLabelDefParseXML(xmlXPathContextPtr ctxt,
|
||||
char *p;
|
||||
virSecurityLabelDefPtr def = NULL;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
goto error;
|
||||
}
|
||||
|
||||
p = virXPathStringLimit("string(./@type)",
|
||||
VIR_SECURITY_LABEL_BUFLEN-1, ctxt);
|
||||
@ -4382,10 +4360,8 @@ virSecurityLabelDefsParseXML(virDomainDefPtr def,
|
||||
if (n == 0)
|
||||
return 0;
|
||||
|
||||
if (VIR_ALLOC_N(def->seclabels, n) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC_N(def->seclabels, n) < 0)
|
||||
goto error;
|
||||
}
|
||||
|
||||
/* Parse each "seclabel" tag */
|
||||
for (i = 0; i < n; i++) {
|
||||
@ -4468,17 +4444,13 @@ virSecurityDeviceLabelDefParseXML(virSecurityDeviceLabelDefPtr **seclabels_rtn,
|
||||
if (n == 0)
|
||||
return 0;
|
||||
|
||||
if (VIR_ALLOC_N(seclabels, n) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC_N(seclabels, n) < 0)
|
||||
goto error;
|
||||
}
|
||||
nseclabels = n;
|
||||
for (i = 0; i < n; i++) {
|
||||
if (VIR_ALLOC(seclabels[i]) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(seclabels[i]) < 0)
|
||||
goto error;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
/* get model associated to this override */
|
||||
@ -4562,10 +4534,8 @@ virDomainLeaseDefParseXML(xmlNodePtr node)
|
||||
char *path = NULL;
|
||||
char *offset = NULL;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
cur = node->children;
|
||||
while (cur != NULL) {
|
||||
@ -4643,10 +4613,8 @@ virDomainDiskSourcePoolDefParse(xmlNodePtr node,
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (VIR_ALLOC(def->srcpool) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def->srcpool) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
def->srcpool->pool = pool;
|
||||
pool = NULL;
|
||||
@ -4723,10 +4691,8 @@ virDomainDiskDefParseXML(virDomainXMLOptionPtr xmlopt,
|
||||
int expected_secret_usage = -1;
|
||||
int auth_secret_usage = -1;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
def->geometry.cylinders = 0;
|
||||
def->geometry.heads = 0;
|
||||
@ -4801,10 +4767,8 @@ virDomainDiskDefParseXML(virDomainXMLOptionPtr xmlopt,
|
||||
while (child != NULL) {
|
||||
if (child->type == XML_ELEMENT_NODE &&
|
||||
xmlStrEqual(child->name, BAD_CAST "host")) {
|
||||
if (VIR_REALLOC_N(hosts, nhosts + 1) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_REALLOC_N(hosts, nhosts + 1) < 0)
|
||||
goto error;
|
||||
}
|
||||
hosts[nhosts].name = NULL;
|
||||
hosts[nhosts].port = NULL;
|
||||
hosts[nhosts].transport = VIR_DOMAIN_DISK_PROTO_TRANS_TCP;
|
||||
@ -5187,10 +5151,8 @@ virDomainDiskDefParseXML(virDomainXMLOptionPtr xmlopt,
|
||||
if (def->srcpool) {
|
||||
char *tmp;
|
||||
if (virAsprintf(&tmp, "pool = '%s', volume = '%s'",
|
||||
def->srcpool->pool, def->srcpool->volume) < 0) {
|
||||
virReportOOMError();
|
||||
def->srcpool->pool, def->srcpool->volume) < 0)
|
||||
goto error;
|
||||
}
|
||||
|
||||
virReportError(VIR_ERR_NO_TARGET, "%s", tmp);
|
||||
VIR_FREE(tmp);
|
||||
@ -5578,10 +5540,8 @@ virDomainControllerDefParseXML(xmlNodePtr node,
|
||||
char *model = NULL;
|
||||
char *queues = NULL;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
type = virXMLPropString(node, "type");
|
||||
if (type) {
|
||||
@ -5751,10 +5711,8 @@ virDomainParseScaledValue(const char *xpath,
|
||||
unsigned long long bytes;
|
||||
|
||||
*val = 0;
|
||||
if (virAsprintf(&xpath_full, "string(%s)", xpath) < 0) {
|
||||
virReportOOMError();
|
||||
if (virAsprintf(&xpath_full, "string(%s)", xpath) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
ret = virXPathULongLong(xpath_full, ctxt, &bytes);
|
||||
if (ret < 0) {
|
||||
if (ret == -2)
|
||||
@ -5771,10 +5729,8 @@ virDomainParseScaledValue(const char *xpath,
|
||||
}
|
||||
VIR_FREE(xpath_full);
|
||||
|
||||
if (virAsprintf(&xpath_full, "string(%s/@unit)", xpath) < 0) {
|
||||
virReportOOMError();
|
||||
if (virAsprintf(&xpath_full, "string(%s/@unit)", xpath) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
unit = virXPathString(xpath_full, ctxt);
|
||||
|
||||
if (virScaleInteger(&bytes, unit, scale, max) < 0)
|
||||
@ -5810,10 +5766,8 @@ virDomainFSDefParseXML(xmlNodePtr node,
|
||||
|
||||
ctxt->node = node;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
type = virXMLPropString(node, "type");
|
||||
if (type) {
|
||||
@ -5985,10 +5939,8 @@ virDomainActualNetDefParseXML(xmlNodePtr node,
|
||||
char *mode = NULL;
|
||||
char *addrtype = NULL;
|
||||
|
||||
if (VIR_ALLOC(actual) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(actual) < 0)
|
||||
return -1;
|
||||
}
|
||||
|
||||
ctxt->node = node;
|
||||
|
||||
@ -6149,10 +6101,8 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
|
||||
xmlNodePtr oldnode = ctxt->node;
|
||||
int ret;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ctxt->node = node;
|
||||
|
||||
@ -6704,10 +6654,8 @@ virDomainChrDefParseTargetXML(virDomainChrDefPtr def,
|
||||
addrStr = virXMLPropString(cur, "address");
|
||||
portStr = virXMLPropString(cur, "port");
|
||||
|
||||
if (VIR_ALLOC(def->target.addr) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def->target.addr) < 0)
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (addrStr == NULL) {
|
||||
virReportError(VIR_ERR_XML_ERROR, "%s",
|
||||
@ -7003,10 +6951,8 @@ virDomainChrDefPtr
|
||||
virDomainChrDefNew(void) {
|
||||
virDomainChrDefPtr def = NULL;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
def->target.port = -1;
|
||||
return def;
|
||||
@ -7148,10 +7094,8 @@ virDomainSmartcardDefParseXML(xmlNodePtr node,
|
||||
virDomainSmartcardDefPtr def;
|
||||
int i;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
mode = virXMLPropString(node, "mode");
|
||||
if (mode == NULL) {
|
||||
@ -7292,10 +7236,8 @@ virDomainTPMDefParseXML(const xmlNodePtr node,
|
||||
xmlNodePtr *backends = NULL;
|
||||
int nbackends;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
model = virXMLPropString(node, "model");
|
||||
if (model != NULL &&
|
||||
@ -7378,10 +7320,8 @@ virDomainInputDefParseXML(const char *ostype,
|
||||
char *type = NULL;
|
||||
char *bus = NULL;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
type = virXMLPropString(node, "type");
|
||||
bus = virXMLPropString(node, "bus");
|
||||
@ -7474,10 +7414,8 @@ virDomainHubDefParseXML(xmlNodePtr node, unsigned int flags)
|
||||
virDomainHubDefPtr def;
|
||||
char *type = NULL;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
type = virXMLPropString(node, "type");
|
||||
|
||||
@ -7524,10 +7462,8 @@ virDomainTimerDefParseXML(const xmlNodePtr node,
|
||||
xmlNodePtr catchup;
|
||||
int ret;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ctxt->node = node;
|
||||
|
||||
@ -7797,10 +7733,8 @@ virDomainGraphicsDefParseXML(xmlNodePtr node,
|
||||
char *listenAddr = NULL;
|
||||
xmlNodePtr save = ctxt->node;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ctxt->node = node;
|
||||
|
||||
@ -7830,10 +7764,8 @@ virDomainGraphicsDefParseXML(xmlNodePtr node,
|
||||
if (nListens > 0) {
|
||||
int ii;
|
||||
|
||||
if (VIR_ALLOC_N(def->listens, nListens) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC_N(def->listens, nListens) < 0)
|
||||
goto error;
|
||||
}
|
||||
|
||||
for (ii = 0; ii < nListens; ii++) {
|
||||
int ret = virDomainGraphicsListenDefParseXML(&def->listens[ii],
|
||||
@ -8321,10 +8253,8 @@ virDomainSoundCodecDefParseXML(const xmlNodePtr node)
|
||||
char *type;
|
||||
virDomainSoundCodecDefPtr def;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
type = virXMLPropString(node, "type");
|
||||
if ((def->type = virDomainSoundCodecTypeFromString(type)) < 0) {
|
||||
@ -8354,10 +8284,8 @@ virDomainSoundDefParseXML(const xmlNodePtr node,
|
||||
virDomainSoundDefPtr def;
|
||||
xmlNodePtr save = ctxt->node;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ctxt->node = node;
|
||||
|
||||
@ -8381,7 +8309,6 @@ virDomainSoundDefParseXML(const xmlNodePtr node,
|
||||
int ii;
|
||||
|
||||
if (VIR_ALLOC_N(def->codecs, ncodecs) < 0) {
|
||||
virReportOOMError();
|
||||
VIR_FREE(codecNodes);
|
||||
goto error;
|
||||
}
|
||||
@ -8423,10 +8350,8 @@ virDomainWatchdogDefParseXML(const xmlNodePtr node,
|
||||
char *action = NULL;
|
||||
virDomainWatchdogDefPtr def;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
model = virXMLPropString(node, "model");
|
||||
if (model == NULL) {
|
||||
@ -8482,10 +8407,8 @@ virDomainRNGDefParseXML(const xmlNodePtr node,
|
||||
xmlNodePtr *backends = NULL;
|
||||
int nbackends;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!(model = virXMLPropString(node, "model"))) {
|
||||
virReportError(VIR_ERR_XML_ERROR, "%s", _("missing RNG device model"));
|
||||
@ -8553,10 +8476,8 @@ virDomainRNGDefParseXML(const xmlNodePtr node,
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (VIR_ALLOC(def->source.chardev) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def->source.chardev) < 0)
|
||||
goto error;
|
||||
}
|
||||
|
||||
def->source.chardev->type = virDomainChrTypeFromString(type);
|
||||
if (def->source.chardev->type < 0) {
|
||||
@ -8601,10 +8522,8 @@ virDomainMemballoonDefParseXML(const xmlNodePtr node,
|
||||
char *model;
|
||||
virDomainMemballoonDefPtr def;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
model = virXMLPropString(node, "model");
|
||||
if (model == NULL) {
|
||||
@ -8638,10 +8557,8 @@ virDomainNVRAMDefParseXML(const xmlNodePtr node,
|
||||
{
|
||||
virDomainNVRAMDefPtr def;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (virDomainDeviceInfoParseXML(node, NULL, &def->info, flags) < 0)
|
||||
goto error;
|
||||
@ -8669,10 +8586,8 @@ virSysinfoParseXML(const xmlNodePtr node,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
type = virXMLPropString(node, "type");
|
||||
if (type == NULL) {
|
||||
@ -8854,10 +8769,8 @@ virDomainVideoAccelDefParseXML(const xmlNodePtr node) {
|
||||
if (!support3d && !support2d)
|
||||
return NULL;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (support3d) {
|
||||
if (STREQ(support3d, "yes"))
|
||||
@ -8891,10 +8804,8 @@ virDomainVideoDefParseXML(const xmlNodePtr node,
|
||||
char *ram = NULL;
|
||||
char *primary = NULL;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
cur = node->children;
|
||||
while (cur != NULL) {
|
||||
@ -9088,10 +8999,8 @@ virDomainRedirdevDefParseXML(const xmlNodePtr node,
|
||||
char *bus, *type = NULL;
|
||||
int remaining;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
bus = virXMLPropString(node, "bus");
|
||||
if (bus) {
|
||||
@ -9225,10 +9134,8 @@ virDomainRedirFilterUsbDevDefParseXML(const xmlNodePtr node)
|
||||
char *version = NULL, *allow = NULL;
|
||||
virDomainRedirFilterUsbDevDefPtr def;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
class = virXMLPropString(node, "class");
|
||||
if (class) {
|
||||
@ -9321,7 +9228,7 @@ virDomainRedirFilterDefParseXML(const xmlNodePtr node,
|
||||
virDomainRedirFilterDefPtr def = NULL;
|
||||
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
|
||||
ctxt->node = node;
|
||||
if ((n = virXPathNodeSet("./usbdev", ctxt, &nodes)) < 0) {
|
||||
@ -9329,7 +9236,7 @@ virDomainRedirFilterDefParseXML(const xmlNodePtr node,
|
||||
}
|
||||
|
||||
if (n && VIR_ALLOC_N(def->usbdevs, n) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
virDomainRedirFilterUsbDevDefPtr usbdev =
|
||||
@ -9344,9 +9251,6 @@ virDomainRedirFilterDefParseXML(const xmlNodePtr node,
|
||||
ctxt->node = save;
|
||||
return def;
|
||||
|
||||
no_memory:
|
||||
virReportOOMError();
|
||||
|
||||
error:
|
||||
VIR_FREE(nodes);
|
||||
virDomainRedirFilterDefFree(def);
|
||||
@ -9416,10 +9320,8 @@ virDomainDeviceDefParse(const char *xmlStr,
|
||||
|
||||
node = ctxt->node;
|
||||
|
||||
if (VIR_ALLOC(dev) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(dev) < 0)
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (xmlStrEqual(node->name, BAD_CAST "disk")) {
|
||||
dev->type = VIR_DOMAIN_DEVICE_DISK;
|
||||
@ -10048,11 +9950,7 @@ int virDomainLeaseIndex(virDomainDefPtr def,
|
||||
|
||||
int virDomainLeaseInsertPreAlloc(virDomainDefPtr def)
|
||||
{
|
||||
if (VIR_EXPAND_N(def->leases, def->nleases, 1) < 0) {
|
||||
virReportOOMError();
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
return VIR_EXPAND_N(def->leases, def->nleases, 1);
|
||||
}
|
||||
|
||||
int virDomainLeaseInsert(virDomainDefPtr def,
|
||||
@ -10276,10 +10174,8 @@ virDomainIdmapDefParseXML(xmlXPathContextPtr ctxt,
|
||||
virDomainIdMapEntryPtr idmap = NULL;
|
||||
xmlNodePtr save_ctxt = ctxt->node;
|
||||
|
||||
if (VIR_ALLOC_N(idmap, num) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC_N(idmap, num) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
for (i = 0; i < num; i++) {
|
||||
ctxt->node = node[i];
|
||||
@ -10333,10 +10229,8 @@ virDomainVcpuPinDefParseXML(const xmlNodePtr node,
|
||||
char *tmp = NULL;
|
||||
int ret;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ctxt->node = node;
|
||||
|
||||
@ -10422,10 +10316,8 @@ virDomainDefMaybeAddController(virDomainDefPtr def,
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (VIR_ALLOC(cont) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(cont) < 0)
|
||||
return -1;
|
||||
}
|
||||
|
||||
cont->type = type;
|
||||
cont->idx = idx;
|
||||
@ -10436,9 +10328,8 @@ virDomainDefMaybeAddController(virDomainDefPtr def,
|
||||
cont->opts.vioserial.vectors = -1;
|
||||
}
|
||||
|
||||
if (VIR_APPEND_ELEMENT_QUIET(def->controllers, def->ncontrollers, cont) < 0) {
|
||||
if (VIR_APPEND_ELEMENT(def->controllers, def->ncontrollers, cont) < 0) {
|
||||
VIR_FREE(cont);
|
||||
virReportOOMError();
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -10485,10 +10376,8 @@ virDomainResourceDefParse(xmlNodePtr node,
|
||||
|
||||
ctxt->node = node;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
goto error;
|
||||
}
|
||||
|
||||
/* Find out what type of virtualization to use */
|
||||
if (!(def->partition = virXPathString("string(./partition)", ctxt))) {
|
||||
@ -10554,10 +10443,8 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
bool usb_master = false;
|
||||
bool primaryVideo = false;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!(flags & VIR_DOMAIN_XML_INACTIVE))
|
||||
if (virXPathLong("string(./@id)", ctxt, &id) < 0)
|
||||
@ -10717,7 +10604,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
goto error;
|
||||
}
|
||||
if (n && VIR_ALLOC_N(def->blkio.devices, n) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
int j;
|
||||
@ -10896,7 +10783,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
goto error;
|
||||
|
||||
if (n && VIR_ALLOC_N(def->cputune.vcpupin, n) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
|
||||
if (n > def->maxvcpus) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
@ -10936,10 +10823,8 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
* the policy specified explicitly as def->cpuset.
|
||||
*/
|
||||
if (def->cpumask) {
|
||||
if (VIR_REALLOC_N(def->cputune.vcpupin, def->vcpus) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_REALLOC_N(def->cputune.vcpupin, def->vcpus) < 0)
|
||||
goto error;
|
||||
}
|
||||
|
||||
for (i = 0; i < def->vcpus; i++) {
|
||||
if (virDomainVcpuPinIsDuplicate(def->cputune.vcpupin,
|
||||
@ -10949,10 +10834,8 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
|
||||
virDomainVcpuPinDefPtr vcpupin = NULL;
|
||||
|
||||
if (VIR_ALLOC(vcpupin) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(vcpupin) < 0)
|
||||
goto error;
|
||||
}
|
||||
|
||||
vcpupin->cpumask = virBitmapNew(VIR_DOMAIN_CPUMASK_LEN);
|
||||
virBitmapCopy(vcpupin->cpumask, def->cpumask);
|
||||
@ -11356,7 +11239,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
goto error;
|
||||
|
||||
if (n && VIR_ALLOC_N(def->clock.timers, n) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
virDomainTimerDefPtr timer = virDomainTimerDefParseXML(nodes[i],
|
||||
@ -11467,7 +11350,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
}
|
||||
|
||||
if (VIR_ALLOC_N(def->os.initargv, n+1) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
for (i = 0; i < n; i++) {
|
||||
if (!nodes[i]->children ||
|
||||
!nodes[i]->children->content) {
|
||||
@ -11508,7 +11391,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
goto error;
|
||||
|
||||
if (n && VIR_ALLOC_N(def->disks, n) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
virDomainDiskDefPtr disk = virDomainDiskDefParseXML(xmlopt,
|
||||
@ -11530,7 +11413,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
goto error;
|
||||
|
||||
if (n && VIR_ALLOC_N(def->controllers, n) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
virDomainControllerDefPtr controller = virDomainControllerDefParseXML(nodes[i],
|
||||
@ -11587,7 +11470,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
goto error;
|
||||
}
|
||||
if (n && VIR_ALLOC_N(def->leases, n) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
for (i = 0; i < n; i++) {
|
||||
virDomainLeaseDefPtr lease = virDomainLeaseDefParseXML(nodes[i]);
|
||||
if (!lease)
|
||||
@ -11602,7 +11485,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
goto error;
|
||||
}
|
||||
if (n && VIR_ALLOC_N(def->fss, n) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
for (i = 0; i < n; i++) {
|
||||
virDomainFSDefPtr fs = virDomainFSDefParseXML(nodes[i], ctxt,
|
||||
flags);
|
||||
@ -11618,7 +11501,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
goto error;
|
||||
}
|
||||
if (n && VIR_ALLOC_N(def->nets, n) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
for (i = 0; i < n; i++) {
|
||||
virDomainNetDefPtr net = virDomainNetDefParseXML(xmlopt,
|
||||
nodes[i],
|
||||
@ -11633,7 +11516,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
/* <interface type='hostdev'> must also be in the hostdevs array */
|
||||
if (net->type == VIR_DOMAIN_NET_TYPE_HOSTDEV &&
|
||||
virDomainHostdevInsert(def, &net->data.hostdev.def) < 0) {
|
||||
goto no_memory;
|
||||
goto error;
|
||||
}
|
||||
}
|
||||
VIR_FREE(nodes);
|
||||
@ -11644,7 +11527,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
goto error;
|
||||
}
|
||||
if (n && VIR_ALLOC_N(def->smartcards, n) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
virDomainSmartcardDefPtr card = virDomainSmartcardDefParseXML(nodes[i],
|
||||
@ -11662,7 +11545,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
goto error;
|
||||
}
|
||||
if (n && VIR_ALLOC_N(def->parallels, n) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
virDomainChrDefPtr chr = virDomainChrDefParseXML(ctxt,
|
||||
@ -11690,7 +11573,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
goto error;
|
||||
|
||||
if (n && VIR_ALLOC_N(def->serials, n) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
virDomainChrDefPtr chr = virDomainChrDefParseXML(ctxt,
|
||||
@ -11720,7 +11603,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
goto error;
|
||||
}
|
||||
if (n && VIR_ALLOC_N(def->consoles, n) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
virDomainChrDefPtr chr = virDomainChrDefParseXML(ctxt,
|
||||
@ -11740,7 +11623,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
goto error;
|
||||
}
|
||||
if (n && VIR_ALLOC_N(def->channels, n) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
virDomainChrDefPtr chr = virDomainChrDefParseXML(ctxt,
|
||||
@ -11781,7 +11664,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
goto error;
|
||||
}
|
||||
if (n && VIR_ALLOC_N(def->inputs, n) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
virDomainInputDefPtr input = virDomainInputDefParseXML(def->os.type,
|
||||
@ -11821,7 +11704,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
goto error;
|
||||
}
|
||||
if (n && VIR_ALLOC_N(def->graphics, n) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
for (i = 0; i < n; i++) {
|
||||
virDomainGraphicsDefPtr graphics = virDomainGraphicsDefParseXML(nodes[i],
|
||||
ctxt,
|
||||
@ -11838,7 +11721,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
virDomainInputDefPtr input;
|
||||
|
||||
if (VIR_ALLOC(input) < 0) {
|
||||
goto no_memory;
|
||||
goto error;
|
||||
}
|
||||
if (STREQ(def->os.type, "hvm")) {
|
||||
input->type = VIR_DOMAIN_INPUT_TYPE_MOUSE;
|
||||
@ -11850,7 +11733,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
|
||||
if (VIR_REALLOC_N(def->inputs, def->ninputs + 1) < 0) {
|
||||
virDomainInputDefFree(input);
|
||||
goto no_memory;
|
||||
goto error;
|
||||
}
|
||||
def->inputs[def->ninputs] = input;
|
||||
def->ninputs++;
|
||||
@ -11862,7 +11745,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
goto error;
|
||||
}
|
||||
if (n && VIR_ALLOC_N(def->sounds, n) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
for (i = 0; i < n; i++) {
|
||||
virDomainSoundDefPtr sound = virDomainSoundDefParseXML(nodes[i],
|
||||
ctxt,
|
||||
@ -11879,7 +11762,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
goto error;
|
||||
}
|
||||
if (n && VIR_ALLOC_N(def->videos, n) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
for (i = 0; i < n; i++) {
|
||||
size_t ii = def->nvideos;
|
||||
virDomainVideoDefPtr video = virDomainVideoDefParseXML(nodes[i],
|
||||
@ -11899,7 +11782,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
ii = 0;
|
||||
primaryVideo = true;
|
||||
}
|
||||
if (VIR_INSERT_ELEMENT_INPLACE_QUIET(def->videos,
|
||||
if (VIR_INSERT_ELEMENT_INPLACE(def->videos,
|
||||
ii,
|
||||
def->nvideos,
|
||||
video) < 0) {
|
||||
@ -11914,7 +11797,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
if (def->ngraphics && !def->nvideos) {
|
||||
virDomainVideoDefPtr video;
|
||||
if (VIR_ALLOC(video) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
video->type = virDomainVideoDefaultType(def);
|
||||
if (video->type < 0) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
@ -11926,7 +11809,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
video->heads = 1;
|
||||
if (VIR_ALLOC_N(def->videos, 1) < 0) {
|
||||
virDomainVideoDefFree(video);
|
||||
goto no_memory;
|
||||
goto error;
|
||||
}
|
||||
def->videos[def->nvideos++] = video;
|
||||
}
|
||||
@ -11936,7 +11819,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
goto error;
|
||||
}
|
||||
if (n && VIR_REALLOC_N(def->hostdevs, def->nhostdevs + n) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
for (i = 0; i < n; i++) {
|
||||
virDomainHostdevDefPtr hostdev;
|
||||
|
||||
@ -12005,7 +11888,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
def->virtType == VIR_DOMAIN_VIRT_KVM) {
|
||||
virDomainMemballoonDefPtr memballoon;
|
||||
if (VIR_ALLOC(memballoon) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
memballoon->model = def->virtType == VIR_DOMAIN_VIRT_XEN ?
|
||||
VIR_DOMAIN_MEMBALLOON_MODEL_XEN :
|
||||
VIR_DOMAIN_MEMBALLOON_MODEL_VIRTIO;
|
||||
@ -12068,7 +11951,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
goto error;
|
||||
}
|
||||
if (n && VIR_ALLOC_N(def->hubs, n) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
for (i = 0; i < n; i++) {
|
||||
virDomainHubDefPtr hub = virDomainHubDefParseXML(nodes[i], flags);
|
||||
if (!hub)
|
||||
@ -12091,7 +11974,7 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
goto error;
|
||||
}
|
||||
if (n && VIR_ALLOC_N(def->redirdevs, n) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
for (i = 0; i < n; i++) {
|
||||
virDomainRedirdevDefPtr redirdev = virDomainRedirdevDefParseXML(nodes[i],
|
||||
bootHash,
|
||||
@ -12236,8 +12119,6 @@ virDomainDefParseXML(xmlDocPtr xml,
|
||||
|
||||
return def;
|
||||
|
||||
no_memory:
|
||||
virReportOOMError();
|
||||
error:
|
||||
VIR_FREE(tmp);
|
||||
VIR_FREE(nodes);
|
||||
@ -13688,10 +13569,8 @@ virDomainVcpuPinAdd(virDomainVcpuPinDefPtr **vcpupin_list,
|
||||
vcpupin->vcpuid = vcpu;
|
||||
virBitmapFree(vcpupin->cpumask);
|
||||
vcpupin->cpumask = virBitmapNewData(cpumap, maplen);
|
||||
if (!vcpupin->cpumask) {
|
||||
virReportOOMError();
|
||||
if (!vcpupin->cpumask)
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -13699,22 +13578,21 @@ virDomainVcpuPinAdd(virDomainVcpuPinDefPtr **vcpupin_list,
|
||||
/* No existing vcpupin matches vcpu, adding a new one */
|
||||
|
||||
if (VIR_ALLOC(vcpupin) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
|
||||
vcpupin->vcpuid = vcpu;
|
||||
vcpupin->cpumask = virBitmapNewData(cpumap, maplen);
|
||||
if (!vcpupin->cpumask)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
|
||||
if (VIR_REALLOC_N(*vcpupin_list, *nvcpupin + 1) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
|
||||
(*vcpupin_list)[(*nvcpupin)++] = vcpupin;
|
||||
|
||||
return 0;
|
||||
|
||||
no_memory:
|
||||
virReportOOMError();
|
||||
error:
|
||||
virDomainVcpuPinDefFree(vcpupin);
|
||||
return -1;
|
||||
}
|
||||
@ -13749,11 +13627,9 @@ virDomainVcpuPinDel(virDomainDefPtr def, int vcpu)
|
||||
if (--def->cputune.nvcpupin == 0) {
|
||||
VIR_FREE(def->cputune.vcpupin);
|
||||
} else {
|
||||
if (VIR_REALLOC_N(def->cputune.vcpupin, def->cputune.nvcpupin) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_REALLOC_N(def->cputune.vcpupin, def->cputune.nvcpupin) < 0)
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -13767,10 +13643,8 @@ virDomainEmulatorPinAdd(virDomainDefPtr def,
|
||||
|
||||
if (!def->cputune.emulatorpin) {
|
||||
/* No emulatorpin exists yet. */
|
||||
if (VIR_ALLOC(emulatorpin) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(emulatorpin) < 0)
|
||||
return -1;
|
||||
}
|
||||
|
||||
emulatorpin->vcpuid = -1;
|
||||
emulatorpin->cpumask = virBitmapNewData(cpumap, maplen);
|
||||
@ -17059,9 +16933,7 @@ char
|
||||
{
|
||||
char *ret;
|
||||
|
||||
if (virAsprintf(&ret, "%s/%s.xml", dir, name) < 0)
|
||||
virReportOOMError();
|
||||
|
||||
ignore_value(virAsprintf(&ret, "%s/%s.xml", dir, name));
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -17686,9 +17558,7 @@ virDomainGraphicsGetListen(virDomainGraphicsDefPtr def, size_t ii, bool force0)
|
||||
def->type == VIR_DOMAIN_GRAPHICS_TYPE_SPICE) {
|
||||
|
||||
if (!def->listens && (ii == 0) && force0) {
|
||||
if (VIR_ALLOC(def->listens) < 0)
|
||||
virReportOOMError();
|
||||
else
|
||||
if (VIR_ALLOC(def->listens) >= 0)
|
||||
def->nListens = 1;
|
||||
}
|
||||
|
||||
@ -18078,12 +17948,9 @@ virDomainObjListExport(virDomainObjListPtr doms,
|
||||
};
|
||||
|
||||
virObjectLock(doms);
|
||||
if (domains) {
|
||||
if (VIR_ALLOC_N(data.domains, virHashSize(doms->objs) + 1) < 0) {
|
||||
virReportOOMError();
|
||||
if (domains &&
|
||||
VIR_ALLOC_N(data.domains, virHashSize(doms->objs) + 1) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
|
||||
virHashForEach(doms->objs, virDomainListPopulate, &data);
|
||||
|
||||
@ -18167,7 +18034,6 @@ virDomainDefGenSecurityLabelDef(const char *model)
|
||||
|
||||
if (VIR_ALLOC(seclabel) < 0 ||
|
||||
VIR_STRDUP(seclabel->model, model) < 0) {
|
||||
virReportOOMError();
|
||||
virSecurityLabelDefFree(seclabel);
|
||||
seclabel = NULL;
|
||||
}
|
||||
@ -18182,7 +18048,6 @@ virDomainDiskDefGenSecurityLabelDef(const char *model)
|
||||
|
||||
if (VIR_ALLOC(seclabel) < 0 ||
|
||||
VIR_STRDUP(seclabel->model, model) < 0) {
|
||||
virReportOOMError();
|
||||
virSecurityDeviceLabelDefFree(seclabel);
|
||||
seclabel = NULL;
|
||||
}
|
||||
|
@ -376,7 +376,7 @@ virDomainEventCallbackListAddID(virConnectPtr conn,
|
||||
}
|
||||
/* Allocate new event */
|
||||
if (VIR_ALLOC(event) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
event->conn = conn;
|
||||
event->cb = callback;
|
||||
event->eventID = eventID;
|
||||
@ -385,7 +385,7 @@ virDomainEventCallbackListAddID(virConnectPtr conn,
|
||||
|
||||
if (dom) {
|
||||
if (VIR_ALLOC(event->dom) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
if (VIR_STRDUP(event->dom->name, dom->name) < 0)
|
||||
goto error;
|
||||
memcpy(event->dom->uuid, dom->uuid, VIR_UUID_BUFLEN);
|
||||
@ -394,7 +394,7 @@ virDomainEventCallbackListAddID(virConnectPtr conn,
|
||||
|
||||
/* Make space on list */
|
||||
if (VIR_REALLOC_N(cbList->callbacks, cbList->count + 1) < 0)
|
||||
goto no_memory;
|
||||
goto error;
|
||||
|
||||
virObjectRef(event->conn);
|
||||
|
||||
@ -415,8 +415,6 @@ virDomainEventCallbackListAddID(virConnectPtr conn,
|
||||
|
||||
return ret;
|
||||
|
||||
no_memory:
|
||||
virReportOOMError();
|
||||
error:
|
||||
if (event) {
|
||||
if (event->dom)
|
||||
@ -566,11 +564,7 @@ virDomainEventQueueNew(void)
|
||||
{
|
||||
virDomainEventQueuePtr ret;
|
||||
|
||||
if (VIR_ALLOC(ret) < 0) {
|
||||
virReportOOMError();
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ignore_value(VIR_ALLOC(ret));
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -627,10 +621,8 @@ virDomainEventStateNew(void)
|
||||
{
|
||||
virDomainEventStatePtr state = NULL;
|
||||
|
||||
if (VIR_ALLOC(state) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(state) < 0)
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (virMutexInit(&state->lock) < 0) {
|
||||
virReportSystemError(errno, "%s",
|
||||
@ -639,10 +631,8 @@ virDomainEventStateNew(void)
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (VIR_ALLOC(state->callbacks) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(state->callbacks) < 0)
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (!(state->queue = virDomainEventQueueNew()))
|
||||
goto error;
|
||||
@ -663,10 +653,8 @@ static virDomainEventPtr virDomainEventNewInternal(int eventID,
|
||||
{
|
||||
virDomainEventPtr event;
|
||||
|
||||
if (VIR_ALLOC(event) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(event) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
event->eventID = eventID;
|
||||
if (VIR_STRDUP(event->dom.name, name) < 0) {
|
||||
@ -1188,10 +1176,8 @@ virDomainEventQueuePush(virDomainEventQueuePtr evtQueue,
|
||||
|
||||
/* Make space on queue */
|
||||
if (VIR_REALLOC_N(evtQueue->events,
|
||||
evtQueue->count + 1) < 0) {
|
||||
virReportOOMError();
|
||||
evtQueue->count + 1) < 0)
|
||||
return -1;
|
||||
}
|
||||
|
||||
evtQueue->events[evtQueue->count] = event;
|
||||
evtQueue->count++;
|
||||
|
@ -318,20 +318,16 @@ virInterfaceDefParseProtoIPv4(virInterfaceProtocolDefPtr def,
|
||||
if (ipNodes == NULL)
|
||||
return 0;
|
||||
|
||||
if (VIR_ALLOC_N(def->ips, nIpNodes) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC_N(def->ips, nIpNodes) < 0)
|
||||
goto error;
|
||||
}
|
||||
|
||||
def->nips = 0;
|
||||
for (ii = 0; ii < nIpNodes; ii++) {
|
||||
|
||||
virInterfaceIpDefPtr ip;
|
||||
|
||||
if (VIR_ALLOC(ip) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(ip) < 0)
|
||||
goto error;
|
||||
}
|
||||
|
||||
ctxt->node = ipNodes[ii];
|
||||
ret = virInterfaceDefParseIp(ip, ctxt);
|
||||
@ -377,20 +373,16 @@ virInterfaceDefParseProtoIPv6(virInterfaceProtocolDefPtr def,
|
||||
if (ipNodes == NULL)
|
||||
return 0;
|
||||
|
||||
if (VIR_ALLOC_N(def->ips, nIpNodes) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC_N(def->ips, nIpNodes) < 0)
|
||||
goto error;
|
||||
}
|
||||
|
||||
def->nips = 0;
|
||||
for (ii = 0; ii < nIpNodes; ii++) {
|
||||
|
||||
virInterfaceIpDefPtr ip;
|
||||
|
||||
if (VIR_ALLOC(ip) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(ip) < 0)
|
||||
goto error;
|
||||
}
|
||||
|
||||
ctxt->node = ipNodes[ii];
|
||||
ret = virInterfaceDefParseIp(ip, ctxt);
|
||||
@ -427,20 +419,16 @@ virInterfaceDefParseIfAdressing(virInterfaceDefPtr def,
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (VIR_ALLOC_N(def->protos, nProtoNodes) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC_N(def->protos, nProtoNodes) < 0)
|
||||
goto error;
|
||||
}
|
||||
|
||||
def->nprotos = 0;
|
||||
for (pp = 0; pp < nProtoNodes; pp++) {
|
||||
|
||||
virInterfaceProtocolDefPtr proto;
|
||||
|
||||
if (VIR_ALLOC(proto) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(proto) < 0)
|
||||
goto error;
|
||||
}
|
||||
|
||||
ctxt->node = protoNodes[pp];
|
||||
tmp = virXPathString("string(./@family)", ctxt);
|
||||
@ -498,7 +486,6 @@ virInterfaceDefParseBridge(virInterfaceDefPtr def,
|
||||
}
|
||||
if (nbItf > 0) {
|
||||
if (VIR_ALLOC_N(def->data.bridge.itf, nbItf) < 0) {
|
||||
virReportOOMError();
|
||||
ret = -1;
|
||||
goto error;
|
||||
}
|
||||
@ -545,7 +532,6 @@ virInterfaceDefParseBondItfs(virInterfaceDefPtr def,
|
||||
}
|
||||
|
||||
if (VIR_ALLOC_N(def->data.bond.itf, nbItf) < 0) {
|
||||
virReportOOMError();
|
||||
ret = -1;
|
||||
goto error;
|
||||
}
|
||||
@ -682,10 +668,8 @@ virInterfaceDefParseXML(xmlXPathContextPtr ctxt, int parentIfType) {
|
||||
}
|
||||
VIR_FREE(tmp);
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (((parentIfType == VIR_INTERFACE_TYPE_BOND)
|
||||
&& (type != VIR_INTERFACE_TYPE_ETHERNET))
|
||||
@ -1266,10 +1250,8 @@ virInterfaceObjPtr virInterfaceAssignDef(virInterfaceObjListPtr interfaces,
|
||||
return iface;
|
||||
}
|
||||
|
||||
if (VIR_ALLOC(iface) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(iface) < 0)
|
||||
return NULL;
|
||||
}
|
||||
if (virMutexInit(&iface->lock) < 0) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
"%s", _("cannot initialize mutex"));
|
||||
@ -1280,7 +1262,6 @@ virInterfaceObjPtr virInterfaceAssignDef(virInterfaceObjListPtr interfaces,
|
||||
iface->def = def;
|
||||
|
||||
if (VIR_REALLOC_N(interfaces->objs, interfaces->count + 1) < 0) {
|
||||
virReportOOMError();
|
||||
VIR_FREE(iface);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -120,10 +120,8 @@ virNetDevBandwidthParse(xmlNodePtr node,
|
||||
xmlNodePtr cur;
|
||||
xmlNodePtr in = NULL, out = NULL;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!node || !xmlStrEqual(node->name, BAD_CAST "bandwidth")) {
|
||||
virReportError(VIR_ERR_INVALID_ARG, "%s",
|
||||
@ -158,10 +156,8 @@ virNetDevBandwidthParse(xmlNodePtr node,
|
||||
}
|
||||
|
||||
if (in) {
|
||||
if (VIR_ALLOC(def->in) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def->in) < 0)
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (virNetDevBandwidthParseRate(in, def->in) < 0) {
|
||||
/* helper reported error for us */
|
||||
@ -184,10 +180,8 @@ virNetDevBandwidthParse(xmlNodePtr node,
|
||||
}
|
||||
|
||||
if (out) {
|
||||
if (VIR_ALLOC(def->out) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def->out) < 0)
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (virNetDevBandwidthParseRate(out, def->out) < 0) {
|
||||
/* helper reported error for us */
|
||||
|
@ -54,10 +54,8 @@ virNetDevVlanParse(xmlNodePtr node, xmlXPathContextPtr ctxt, virNetDevVlanPtr de
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (VIR_ALLOC_N(def->tag, nTags) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC_N(def->tag, nTags) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
def->nativeMode = 0;
|
||||
def->nativeTag = 0;
|
||||
|
@ -50,10 +50,8 @@ virNetDevVPortProfileParse(xmlNodePtr node, unsigned int flags)
|
||||
virNetDevVPortProfilePtr virtPort = NULL;
|
||||
xmlNodePtr cur = node->children;
|
||||
|
||||
if (VIR_ALLOC(virtPort) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(virtPort) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if ((virtPortType = virXMLPropString(node, "type")) &&
|
||||
(virtPort->virtPortType = virNetDevVPortTypeFromString(virtPortType)) <= 0) {
|
||||
|
@ -344,15 +344,11 @@ virNetworkAssignDef(virNetworkObjListPtr nets,
|
||||
return network;
|
||||
}
|
||||
|
||||
if (VIR_REALLOC_N(nets->objs, nets->count + 1) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_REALLOC_N(nets->objs, nets->count + 1) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (VIR_ALLOC(network) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(network) < 0)
|
||||
return NULL;
|
||||
}
|
||||
if (virMutexInit(&network->lock) < 0) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
"%s", _("cannot initialize mutex"));
|
||||
@ -362,10 +358,8 @@ virNetworkAssignDef(virNetworkObjListPtr nets,
|
||||
virNetworkObjLock(network);
|
||||
network->def = def;
|
||||
|
||||
if (!(network->class_id = virBitmapNew(CLASS_ID_BITMAP_SIZE))) {
|
||||
virReportOOMError();
|
||||
if (!(network->class_id = virBitmapNew(CLASS_ID_BITMAP_SIZE)))
|
||||
goto error;
|
||||
}
|
||||
|
||||
/* The first three class IDs are already taken */
|
||||
ignore_value(virBitmapSetBit(network->class_id, 0));
|
||||
@ -796,10 +790,8 @@ virNetworkDHCPDefParseXML(const char *networkName,
|
||||
if (cur->type == XML_ELEMENT_NODE &&
|
||||
xmlStrEqual(cur->name, BAD_CAST "range")) {
|
||||
|
||||
if (VIR_REALLOC_N(def->ranges, def->nranges + 1) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_REALLOC_N(def->ranges, def->nranges + 1) < 0)
|
||||
return -1;
|
||||
}
|
||||
if (virSocketAddrRangeParseXML(networkName, cur,
|
||||
&def->ranges[def->nranges]) < 0) {
|
||||
return -1;
|
||||
@ -809,10 +801,8 @@ virNetworkDHCPDefParseXML(const char *networkName,
|
||||
} else if (cur->type == XML_ELEMENT_NODE &&
|
||||
xmlStrEqual(cur->name, BAD_CAST "host")) {
|
||||
|
||||
if (VIR_REALLOC_N(def->hosts, def->nhosts + 1) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_REALLOC_N(def->hosts, def->nhosts + 1) < 0)
|
||||
return -1;
|
||||
}
|
||||
if (virNetworkDHCPHostDefParseXML(networkName, def, cur,
|
||||
&def->hosts[def->nhosts],
|
||||
false) < 0) {
|
||||
@ -883,10 +873,8 @@ virNetworkDNSHostDefParseXML(const char *networkName,
|
||||
if (cur->type == XML_ELEMENT_NODE &&
|
||||
xmlStrEqual(cur->name, BAD_CAST "hostname")) {
|
||||
if (cur->children != NULL) {
|
||||
if (VIR_REALLOC_N(def->names, def->nnames + 1) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_REALLOC_N(def->names, def->nnames + 1) < 0)
|
||||
goto error;
|
||||
}
|
||||
def->names[def->nnames++] = (char *)xmlNodeGetContent(cur);
|
||||
if (!def->names[def->nnames - 1]) {
|
||||
virReportError(VIR_ERR_XML_DETAIL,
|
||||
@ -1062,10 +1050,8 @@ virNetworkDNSDefParseXML(const char *networkName,
|
||||
goto cleanup;
|
||||
}
|
||||
if (nhosts > 0) {
|
||||
if (VIR_ALLOC_N(def->hosts, nhosts) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC_N(def->hosts, nhosts) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
for (ii = 0; ii < nhosts; ii++) {
|
||||
if (virNetworkDNSHostDefParseXML(networkName, hostNodes[ii],
|
||||
@ -1084,10 +1070,8 @@ virNetworkDNSDefParseXML(const char *networkName,
|
||||
goto cleanup;
|
||||
}
|
||||
if (nsrvs > 0) {
|
||||
if (VIR_ALLOC_N(def->srvs, nsrvs) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC_N(def->srvs, nsrvs) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
for (ii = 0; ii < nsrvs; ii++) {
|
||||
if (virNetworkDNSSrvDefParseXML(networkName, srvNodes[ii], ctxt,
|
||||
@ -1106,10 +1090,8 @@ virNetworkDNSDefParseXML(const char *networkName,
|
||||
goto cleanup;
|
||||
}
|
||||
if (ntxts > 0) {
|
||||
if (VIR_ALLOC_N(def->txts, ntxts) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC_N(def->txts, ntxts) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
for (ii = 0; ii < ntxts; ii++) {
|
||||
if (virNetworkDNSTxtDefParseXML(networkName, txtNodes[ii],
|
||||
@ -1786,11 +1768,8 @@ virNetworkForwardDefParseXML(const char *networkName,
|
||||
}
|
||||
|
||||
if (nForwardIfs > 0 || forwardDev) {
|
||||
|
||||
if (VIR_ALLOC_N(def->ifs, MAX(nForwardIfs, 1)) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC_N(def->ifs, MAX(nForwardIfs, 1)) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (forwardDev) {
|
||||
def->ifs[0].device.dev = forwardDev;
|
||||
@ -1833,11 +1812,8 @@ virNetworkForwardDefParseXML(const char *networkName,
|
||||
}
|
||||
|
||||
} else if (nForwardAddrs > 0) {
|
||||
|
||||
if (VIR_ALLOC_N(def->ifs, nForwardAddrs) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC_N(def->ifs, nForwardAddrs) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
for (ii = 0; ii < nForwardAddrs; ii++) {
|
||||
if (!(type = virXMLPropString(forwardAddrNodes[ii], "type"))) {
|
||||
@ -1880,11 +1856,8 @@ virNetworkForwardDefParseXML(const char *networkName,
|
||||
networkName);
|
||||
goto cleanup;
|
||||
} else if (nForwardPfs == 1) {
|
||||
|
||||
if (VIR_ALLOC_N(def->pfs, nForwardPfs) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC_N(def->pfs, nForwardPfs) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
forwardDev = virXMLPropString(*forwardPfNodes, "dev");
|
||||
if (!forwardDev) {
|
||||
@ -1898,7 +1871,6 @@ virNetworkForwardDefParseXML(const char *networkName,
|
||||
def->pfs->dev = forwardDev;
|
||||
forwardDev = NULL;
|
||||
def->npfs++;
|
||||
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
@ -1933,10 +1905,8 @@ virNetworkDefParseXML(xmlXPathContextPtr ctxt)
|
||||
xmlNodePtr bandwidthNode = NULL;
|
||||
xmlNodePtr vlanNode;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Extract network name */
|
||||
def->name = virXPathString("string(./name[1])", ctxt);
|
||||
@ -2040,10 +2010,8 @@ virNetworkDefParseXML(xmlXPathContextPtr ctxt)
|
||||
int ii;
|
||||
|
||||
/* allocate array to hold all the portgroups */
|
||||
if (VIR_ALLOC_N(def->portGroups, nPortGroups) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC_N(def->portGroups, nPortGroups) < 0)
|
||||
goto error;
|
||||
}
|
||||
/* parse each portgroup */
|
||||
for (ii = 0; ii < nPortGroups; ii++) {
|
||||
int ret = virNetworkPortGroupParseXML(&def->portGroups[ii],
|
||||
@ -2063,10 +2031,8 @@ virNetworkDefParseXML(xmlXPathContextPtr ctxt)
|
||||
int ii;
|
||||
|
||||
/* allocate array to hold all the addrs */
|
||||
if (VIR_ALLOC_N(def->ips, nIps) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC_N(def->ips, nIps) < 0)
|
||||
goto error;
|
||||
}
|
||||
/* parse each addr */
|
||||
for (ii = 0; ii < nIps; ii++) {
|
||||
int ret = virNetworkIPDefParseXML(def->name, ipNodes[ii],
|
||||
@ -2086,10 +2052,8 @@ virNetworkDefParseXML(xmlXPathContextPtr ctxt)
|
||||
int ii;
|
||||
|
||||
/* allocate array to hold all the route definitions */
|
||||
if (VIR_ALLOC_N(def->routes, nRoutes) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC_N(def->routes, nRoutes) < 0)
|
||||
goto error;
|
||||
}
|
||||
/* parse each definition */
|
||||
for (ii = 0; ii < nRoutes; ii++) {
|
||||
int ret = virNetworkRouteDefParseXML(def->name, routeNodes[ii],
|
||||
@ -3121,11 +3085,7 @@ char *virNetworkConfigFile(const char *dir,
|
||||
{
|
||||
char *ret = NULL;
|
||||
|
||||
if (virAsprintf(&ret, "%s/%s.xml", dir, name) < 0) {
|
||||
virReportOOMError();
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ignore_value(virAsprintf(&ret, "%s/%s.xml", dir, name));
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -3159,10 +3119,8 @@ char *virNetworkAllocateBridge(const virNetworkObjListPtr nets,
|
||||
template = "virbr%d";
|
||||
|
||||
do {
|
||||
if (virAsprintf(&newname, template, id) < 0) {
|
||||
virReportOOMError();
|
||||
if (virAsprintf(&newname, template, id) < 0)
|
||||
return NULL;
|
||||
}
|
||||
if (!virNetworkBridgeInUse(nets, newname, NULL)) {
|
||||
return newname;
|
||||
}
|
||||
@ -3411,13 +3369,11 @@ virNetworkDefUpdateIPDHCPHost(virNetworkDefPtr def,
|
||||
}
|
||||
|
||||
/* add to beginning/end of list */
|
||||
if (VIR_INSERT_ELEMENT_QUIET(ipdef->hosts,
|
||||
if (VIR_INSERT_ELEMENT(ipdef->hosts,
|
||||
command == VIR_NETWORK_UPDATE_COMMAND_ADD_FIRST
|
||||
? 0 : ipdef->nhosts,
|
||||
ipdef->nhosts, host) < 0) {
|
||||
virReportOOMError();
|
||||
ipdef->nhosts, host) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
} else if (command == VIR_NETWORK_UPDATE_COMMAND_DELETE) {
|
||||
|
||||
if (virNetworkDHCPHostDefParseXML(def->name, ipdef,
|
||||
@ -3517,14 +3473,11 @@ virNetworkDefUpdateIPDHCPRange(virNetworkDefPtr def,
|
||||
}
|
||||
|
||||
/* add to beginning/end of list */
|
||||
if (VIR_INSERT_ELEMENT_QUIET(ipdef->ranges,
|
||||
if (VIR_INSERT_ELEMENT(ipdef->ranges,
|
||||
command == VIR_NETWORK_UPDATE_COMMAND_ADD_FIRST
|
||||
? 0 : ipdef->nranges,
|
||||
ipdef->nranges, range) < 0) {
|
||||
virReportOOMError();
|
||||
ipdef->nranges, range) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
} else if (command == VIR_NETWORK_UPDATE_COMMAND_DELETE) {
|
||||
|
||||
if (ii == ipdef->nranges) {
|
||||
@ -3612,14 +3565,11 @@ virNetworkDefUpdateForwardInterface(virNetworkDefPtr def,
|
||||
}
|
||||
|
||||
/* add to beginning/end of list */
|
||||
if (VIR_INSERT_ELEMENT_QUIET(def->forward.ifs,
|
||||
if (VIR_INSERT_ELEMENT(def->forward.ifs,
|
||||
command == VIR_NETWORK_UPDATE_COMMAND_ADD_FIRST
|
||||
? 0 : def->forward.nifs,
|
||||
def->forward.nifs, iface) < 0) {
|
||||
virReportOOMError();
|
||||
def->forward.nifs, iface) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
} else if (command == VIR_NETWORK_UPDATE_COMMAND_DELETE) {
|
||||
|
||||
if (ii == def->forward.nifs) {
|
||||
@ -3739,14 +3689,11 @@ virNetworkDefUpdatePortGroup(virNetworkDefPtr def,
|
||||
(command == VIR_NETWORK_UPDATE_COMMAND_ADD_LAST)) {
|
||||
|
||||
/* add to beginning/end of list */
|
||||
if (VIR_INSERT_ELEMENT_QUIET(def->portGroups,
|
||||
if (VIR_INSERT_ELEMENT(def->portGroups,
|
||||
command == VIR_NETWORK_UPDATE_COMMAND_ADD_FIRST
|
||||
? 0 : def->nPortGroups,
|
||||
def->nPortGroups, portgroup) < 0) {
|
||||
virReportOOMError();
|
||||
def->nPortGroups, portgroup) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
} else if (command == VIR_NETWORK_UPDATE_COMMAND_DELETE) {
|
||||
|
||||
/* remove it */
|
||||
@ -3823,13 +3770,10 @@ virNetworkDefUpdateDNSHost(virNetworkDefPtr def,
|
||||
}
|
||||
|
||||
/* add to beginning/end of list */
|
||||
if (VIR_INSERT_ELEMENT_QUIET(dns->hosts,
|
||||
if (VIR_INSERT_ELEMENT(dns->hosts,
|
||||
command == VIR_NETWORK_UPDATE_COMMAND_ADD_FIRST
|
||||
? 0 : dns->nhosts, dns->nhosts, host) < 0) {
|
||||
virReportOOMError();
|
||||
? 0 : dns->nhosts, dns->nhosts, host) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
} else if (command == VIR_NETWORK_UPDATE_COMMAND_DELETE) {
|
||||
|
||||
if (foundCt == 0) {
|
||||
@ -3911,13 +3855,10 @@ virNetworkDefUpdateDNSSrv(virNetworkDefPtr def,
|
||||
}
|
||||
|
||||
/* add to beginning/end of list */
|
||||
if (VIR_INSERT_ELEMENT_QUIET(dns->srvs,
|
||||
if (VIR_INSERT_ELEMENT(dns->srvs,
|
||||
command == VIR_NETWORK_UPDATE_COMMAND_ADD_FIRST
|
||||
? 0 : dns->nsrvs, dns->nsrvs, srv) < 0) {
|
||||
virReportOOMError();
|
||||
? 0 : dns->nsrvs, dns->nsrvs, srv) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
} else if (command == VIR_NETWORK_UPDATE_COMMAND_DELETE) {
|
||||
|
||||
if (foundCt == 0) {
|
||||
@ -3993,13 +3934,10 @@ virNetworkDefUpdateDNSTxt(virNetworkDefPtr def,
|
||||
}
|
||||
|
||||
/* add to beginning/end of list */
|
||||
if (VIR_INSERT_ELEMENT_QUIET(dns->txts,
|
||||
if (VIR_INSERT_ELEMENT(dns->txts,
|
||||
command == VIR_NETWORK_UPDATE_COMMAND_ADD_FIRST
|
||||
? 0 : dns->ntxts, dns->ntxts, txt) < 0) {
|
||||
virReportOOMError();
|
||||
? 0 : dns->ntxts, dns->ntxts, txt) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
} else if (command == VIR_NETWORK_UPDATE_COMMAND_DELETE) {
|
||||
|
||||
if (foundIdx == dns->ntxts) {
|
||||
@ -4301,12 +4239,8 @@ virNetworkObjListExport(virConnectPtr conn,
|
||||
int ret = -1;
|
||||
int i;
|
||||
|
||||
if (nets) {
|
||||
if (VIR_ALLOC_N(tmp_nets, netobjs.count + 1) < 0) {
|
||||
virReportOOMError();
|
||||
if (nets && VIR_ALLOC_N(tmp_nets, netobjs.count + 1) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < netobjs.count; i++) {
|
||||
virNetworkObjPtr netobj = netobjs.objs[i];
|
||||
|
@ -176,10 +176,8 @@ virNodeDeviceObjPtr virNodeDeviceAssignDef(virNodeDeviceObjListPtr devs,
|
||||
return device;
|
||||
}
|
||||
|
||||
if (VIR_ALLOC(device) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(device) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (virMutexInit(&device->lock) < 0) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
@ -194,7 +192,6 @@ virNodeDeviceObjPtr virNodeDeviceAssignDef(virNodeDeviceObjListPtr devs,
|
||||
device->def = NULL;
|
||||
virNodeDeviceObjUnlock(device);
|
||||
virNodeDeviceObjFree(device);
|
||||
virReportOOMError();
|
||||
return NULL;
|
||||
}
|
||||
devs->objs[devs->count++] = device;
|
||||
@ -1015,21 +1012,17 @@ virNodeDevCapPciDevIommuGroupParseXML(xmlXPathContextPtr ctxt,
|
||||
virDevicePCIAddress addr = { 0, 0, 0, 0, 0 };
|
||||
if (virDevicePCIAddressParseXML(addrNodes[ii], &addr) < 0)
|
||||
goto cleanup;
|
||||
if (VIR_ALLOC(pciAddr) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(pciAddr) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
pciAddr->domain = addr.domain;
|
||||
pciAddr->bus = addr.bus;
|
||||
pciAddr->slot = addr.slot;
|
||||
pciAddr->function = addr.function;
|
||||
if (VIR_APPEND_ELEMENT(data->pci_dev.iommuGroupDevices,
|
||||
data->pci_dev.nIommuGroupDevices,
|
||||
pciAddr) < 0) {
|
||||
virReportOOMError();
|
||||
pciAddr) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
cleanup:
|
||||
@ -1159,10 +1152,8 @@ virNodeDevCapsDefParseXML(xmlXPathContextPtr ctxt,
|
||||
char *tmp;
|
||||
int val, ret;
|
||||
|
||||
if (VIR_ALLOC(caps) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(caps) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
tmp = virXMLPropString(node, "type");
|
||||
if (!tmp) {
|
||||
@ -1238,10 +1229,8 @@ virNodeDeviceDefParseXML(xmlXPathContextPtr ctxt,
|
||||
xmlNodePtr *nodes;
|
||||
int n, i;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Extract device name */
|
||||
if (create == EXISTING_DEVICE) {
|
||||
@ -1606,12 +1595,8 @@ virNodeDeviceObjListExport(virConnectPtr conn,
|
||||
int ret = -1;
|
||||
int i;
|
||||
|
||||
if (devices) {
|
||||
if (VIR_ALLOC_N(tmp_devices, devobjs.count + 1) < 0) {
|
||||
virReportOOMError();
|
||||
if (devices && VIR_ALLOC_N(tmp_devices, devobjs.count + 1) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < devobjs.count; i++) {
|
||||
virNodeDeviceObjPtr devobj = devobjs.objs[i];
|
||||
|
@ -378,7 +378,6 @@ virNWFilterRuleDefAddVar(virNWFilterRuleDefPtr nwf,
|
||||
}
|
||||
|
||||
if (VIR_EXPAND_N(nwf->varAccess, nwf->nVarAccess, 1) < 0) {
|
||||
virReportOOMError();
|
||||
virNWFilterVarAccessFree(varAccess);
|
||||
return -1;
|
||||
}
|
||||
@ -395,10 +394,8 @@ virNWFilterRuleDefAddString(virNWFilterRuleDefPtr nwf,
|
||||
const char *string,
|
||||
size_t maxstrlen)
|
||||
{
|
||||
if (VIR_REALLOC_N(nwf->strings, nwf->nstrings+1) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_REALLOC_N(nwf->strings, nwf->nstrings+1) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (VIR_STRNDUP(nwf->strings[nwf->nstrings], string, maxstrlen) < 0)
|
||||
return NULL;
|
||||
@ -2039,10 +2036,8 @@ virNWFilterIncludeParse(xmlNodePtr cur)
|
||||
{
|
||||
virNWFilterIncludeDefPtr ret;
|
||||
|
||||
if (VIR_ALLOC(ret) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(ret) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ret->filterref = virXMLPropString(cur, "filter");
|
||||
if (!ret->filterref) {
|
||||
@ -2303,10 +2298,8 @@ virNWFilterRuleParse(xmlNodePtr node)
|
||||
xmlNodePtr cur;
|
||||
virNWFilterRuleDefPtr ret;
|
||||
|
||||
if (VIR_ALLOC(ret) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(ret) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
action = virXMLPropString(node, "action");
|
||||
direction = virXMLPropString(node, "direction");
|
||||
@ -2499,10 +2492,8 @@ virNWFilterDefParseXML(xmlXPathContextPtr ctxt) {
|
||||
int chain_priority;
|
||||
const char *name_prefix;
|
||||
|
||||
if (VIR_ALLOC(ret) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(ret) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ret->name = virXPathString("string(./@name)", ctxt);
|
||||
if (!ret->name) {
|
||||
@ -2577,10 +2568,8 @@ virNWFilterDefParseXML(xmlXPathContextPtr ctxt) {
|
||||
|
||||
while (curr != NULL) {
|
||||
if (curr->type == XML_ELEMENT_NODE) {
|
||||
if (VIR_ALLOC(entry) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(entry) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
/* ignore malformed rule and include elements */
|
||||
if (xmlStrEqual(curr->name, BAD_CAST "rule"))
|
||||
@ -2591,7 +2580,6 @@ virNWFilterDefParseXML(xmlXPathContextPtr ctxt) {
|
||||
if (entry->rule || entry->include) {
|
||||
if (VIR_REALLOC_N(ret->filterEntries, ret->nentries+1) < 0) {
|
||||
VIR_FREE(entry);
|
||||
virReportOOMError();
|
||||
goto cleanup;
|
||||
}
|
||||
ret->filterEntries[ret->nentries++] = entry;
|
||||
@ -3032,10 +3020,8 @@ virNWFilterObjAssignDef(virConnectPtr conn,
|
||||
|
||||
virNWFilterUnlockFilterUpdates();
|
||||
|
||||
if (VIR_ALLOC(nwfilter) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(nwfilter) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (virMutexInitRecursive(&nwfilter->lock) < 0) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
@ -3051,7 +3037,6 @@ virNWFilterObjAssignDef(virConnectPtr conn,
|
||||
nwfilter->def = NULL;
|
||||
virNWFilterObjUnlock(nwfilter);
|
||||
virNWFilterObjFree(nwfilter);
|
||||
virReportOOMError();
|
||||
return NULL;
|
||||
}
|
||||
nwfilters->objs[nwfilters->count++] = nwfilter;
|
||||
@ -3485,11 +3470,7 @@ char *virNWFilterConfigFile(const char *dir,
|
||||
{
|
||||
char *ret = NULL;
|
||||
|
||||
if (virAsprintf(&ret, "%s/%s.xml", dir, name) < 0) {
|
||||
virReportOOMError();
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ignore_value(virAsprintf(&ret, "%s/%s.xml", dir, name));
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -58,10 +58,8 @@ virNWFilterIPAddrMapAddIPAddr(const char *ifname, char *addr)
|
||||
val = virHashLookup(ipAddressMap->hashTable, ifname);
|
||||
if (!val) {
|
||||
val = virNWFilterVarValueCreateSimple(addr);
|
||||
if (!val) {
|
||||
virReportOOMError();
|
||||
if (!val)
|
||||
goto cleanup;
|
||||
}
|
||||
ret = virNWFilterHashTablePut(ipAddressMap, ifname, val, 1);
|
||||
goto cleanup;
|
||||
} else {
|
||||
@ -146,10 +144,8 @@ int
|
||||
virNWFilterIPAddrMapInit(void)
|
||||
{
|
||||
ipAddressMap = virNWFilterHashTableCreate(0);
|
||||
if (!ipAddressMap) {
|
||||
virReportOOMError();
|
||||
if (!ipAddressMap)
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (virMutexInit(&ipAddressMapLock) < 0) {
|
||||
virNWFilterIPAddrMapShutdown();
|
||||
|
@ -71,10 +71,8 @@ virNWFilterVarValueCopy(const virNWFilterVarValuePtr val)
|
||||
unsigned i;
|
||||
char *str;
|
||||
|
||||
if (VIR_ALLOC(res) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(res) < 0)
|
||||
return NULL;
|
||||
}
|
||||
res->valType = val->valType;
|
||||
|
||||
switch (res->valType) {
|
||||
@ -99,7 +97,6 @@ virNWFilterVarValueCopy(const virNWFilterVarValuePtr val)
|
||||
return res;
|
||||
|
||||
err_exit:
|
||||
virReportOOMError();
|
||||
virNWFilterVarValueFree(res);
|
||||
return NULL;
|
||||
}
|
||||
@ -115,10 +112,8 @@ virNWFilterVarValueCreateSimple(char *value)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (VIR_ALLOC(val) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(val) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
val->valType = NWFILTER_VALUE_TYPE_SIMPLE;
|
||||
val->u.simple.value = value;
|
||||
@ -227,7 +222,6 @@ virNWFilterVarValueAddValue(virNWFilterVarValuePtr val, char *value)
|
||||
tmp = val->u.simple.value;
|
||||
if (VIR_ALLOC_N(val->u.array.values, 2) < 0) {
|
||||
val->u.simple.value = tmp;
|
||||
virReportOOMError();
|
||||
return -1;
|
||||
}
|
||||
val->valType = NWFILTER_VALUE_TYPE_ARRAY;
|
||||
@ -239,10 +233,8 @@ virNWFilterVarValueAddValue(virNWFilterVarValuePtr val, char *value)
|
||||
|
||||
case NWFILTER_VALUE_TYPE_ARRAY:
|
||||
if (VIR_EXPAND_N(val->u.array.values,
|
||||
val->u.array.nValues, 1) < 0) {
|
||||
virReportOOMError();
|
||||
val->u.array.nValues, 1) < 0)
|
||||
return -1;
|
||||
}
|
||||
val->u.array.values[val->u.array.nValues - 1] = value;
|
||||
rc = 0;
|
||||
break;
|
||||
@ -383,10 +375,8 @@ virNWFilterVarCombIterAddVariable(virNWFilterVarCombIterEntryPtr cie,
|
||||
}
|
||||
}
|
||||
|
||||
if (VIR_EXPAND_N(cie->varNames, cie->nVarNames, 1) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_EXPAND_N(cie->varNames, cie->nVarNames, 1) < 0)
|
||||
return -1;
|
||||
}
|
||||
|
||||
cie->varNames[cie->nVarNames - 1] = varName;
|
||||
|
||||
@ -477,10 +467,8 @@ virNWFilterVarCombIterCreate(virNWFilterHashTablePtr hash,
|
||||
int iterIndex = -1;
|
||||
unsigned int nextIntIterId = VIR_NWFILTER_MAX_ITERID + 1;
|
||||
|
||||
if (VIR_ALLOC_VAR(res, virNWFilterVarCombIterEntry, 1 + nVarAccess) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC_VAR(res, virNWFilterVarCombIterEntry, 1 + nVarAccess) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
res->hashTable = hash;
|
||||
|
||||
@ -703,10 +691,8 @@ virNWFilterHashTablePtr
|
||||
virNWFilterHashTableCreate(int n) {
|
||||
virNWFilterHashTablePtr ret;
|
||||
|
||||
if (VIR_ALLOC(ret) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(ret) < 0)
|
||||
return NULL;
|
||||
}
|
||||
ret->hashTable = virHashCreate(n, hashDataFree);
|
||||
if (!ret->hashTable) {
|
||||
VIR_FREE(ret);
|
||||
@ -754,7 +740,6 @@ addToTable(void *payload, const void *name, void *data)
|
||||
|
||||
val = virNWFilterVarValueCopy((virNWFilterVarValuePtr)payload);
|
||||
if (!val) {
|
||||
virReportOOMError();
|
||||
atts->errOccurred = 1;
|
||||
return;
|
||||
}
|
||||
@ -836,10 +821,8 @@ virNWFilterParseParamAttributes(xmlNodePtr cur)
|
||||
virNWFilterVarValuePtr value;
|
||||
|
||||
virNWFilterHashTablePtr table = virNWFilterHashTableCreate(0);
|
||||
if (!table) {
|
||||
virReportOOMError();
|
||||
if (!table)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
cur = cur->children;
|
||||
|
||||
@ -989,10 +972,8 @@ virNWFilterVarAccessParse(const char *varAccess)
|
||||
virNWFilterVarAccessPtr dest;
|
||||
const char *input = varAccess;
|
||||
|
||||
if (VIR_ALLOC(dest) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(dest) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
idx = strspn(input, VALID_VARNAME);
|
||||
|
||||
|
@ -152,10 +152,8 @@ secretXMLParseNode(xmlDocPtr xml, xmlNodePtr root)
|
||||
}
|
||||
ctxt->node = root;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
prop = virXPathString("string(./@ephemeral)", ctxt);
|
||||
if (prop != NULL) {
|
||||
|
@ -195,10 +195,8 @@ virDomainSnapshotDefParseString(const char *xmlStr,
|
||||
}
|
||||
xmlKeepBlanksDefault(keepBlanksDefault);
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (!xmlStrEqual(ctxt->node->name, BAD_CAST "domainsnapshot")) {
|
||||
virReportError(VIR_ERR_XML_ERROR, "%s", _("domainsnapshot"));
|
||||
@ -214,11 +212,9 @@ virDomainSnapshotDefParseString(const char *xmlStr,
|
||||
_("a redefined snapshot must have a name"));
|
||||
goto cleanup;
|
||||
}
|
||||
if (virAsprintf(&def->name, "%lld", (long long)tv.tv_sec) < 0) {
|
||||
virReportOOMError();
|
||||
if (virAsprintf(&def->name, "%lld", (long long)tv.tv_sec) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
|
||||
def->description = virXPathString("string(./description)", ctxt);
|
||||
|
||||
@ -321,10 +317,8 @@ virDomainSnapshotDefParseString(const char *xmlStr,
|
||||
goto cleanup;
|
||||
if (flags & VIR_DOMAIN_SNAPSHOT_PARSE_DISKS) {
|
||||
def->ndisks = i;
|
||||
if (def->ndisks && VIR_ALLOC_N(def->disks, def->ndisks) < 0) {
|
||||
virReportOOMError();
|
||||
if (def->ndisks && VIR_ALLOC_N(def->disks, def->ndisks) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
for (i = 0; i < def->ndisks; i++) {
|
||||
if (virDomainSnapshotDiskDefParseXML(nodes[i], &def->disks[i]) < 0)
|
||||
goto cleanup;
|
||||
@ -407,10 +401,8 @@ virDomainSnapshotAlignDisks(virDomainSnapshotDefPtr def,
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (!(map = virBitmapNew(def->dom->ndisks))) {
|
||||
virReportOOMError();
|
||||
if (!(map = virBitmapNew(def->dom->ndisks)))
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
/* Double check requested disks. */
|
||||
for (i = 0; i < def->ndisks; i++) {
|
||||
@ -471,10 +463,8 @@ virDomainSnapshotAlignDisks(virDomainSnapshotDefPtr def,
|
||||
/* Provide defaults for all remaining disks. */
|
||||
ndisks = def->ndisks;
|
||||
if (VIR_EXPAND_N(def->disks, def->ndisks,
|
||||
def->dom->ndisks - def->ndisks) < 0) {
|
||||
virReportOOMError();
|
||||
def->dom->ndisks - def->ndisks) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
for (i = 0; i < def->dom->ndisks; i++) {
|
||||
virDomainSnapshotDiskDefPtr disk;
|
||||
@ -522,20 +512,17 @@ virDomainSnapshotAlignDisks(virDomainSnapshotDefPtr def,
|
||||
|
||||
tmp = strrchr(original, '.');
|
||||
if (!tmp || strchr(tmp, '/')) {
|
||||
ignore_value(virAsprintf(&disk->file, "%s.%s",
|
||||
original, def->name));
|
||||
if (virAsprintf(&disk->file, "%s.%s", original, def->name) < 0)
|
||||
goto cleanup;
|
||||
} else {
|
||||
if ((tmp - original) > INT_MAX) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("integer overflow"));
|
||||
goto cleanup;
|
||||
}
|
||||
ignore_value(virAsprintf(&disk->file, "%.*s.%s",
|
||||
if (virAsprintf(&disk->file, "%.*s.%s",
|
||||
(int) (tmp - original), original,
|
||||
def->name));
|
||||
}
|
||||
if (!disk->file) {
|
||||
virReportOOMError();
|
||||
def->name) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
@ -644,10 +631,8 @@ static virDomainSnapshotObjPtr virDomainSnapshotObjNew(void)
|
||||
{
|
||||
virDomainSnapshotObjPtr snapshot;
|
||||
|
||||
if (VIR_ALLOC(snapshot) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(snapshot) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
VIR_DEBUG("obj=%p", snapshot);
|
||||
|
||||
@ -703,10 +688,8 @@ virDomainSnapshotObjListPtr
|
||||
virDomainSnapshotObjListNew(void)
|
||||
{
|
||||
virDomainSnapshotObjListPtr snapshots;
|
||||
if (VIR_ALLOC(snapshots) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(snapshots) < 0)
|
||||
return NULL;
|
||||
}
|
||||
snapshots->objs = virHashCreate(50, virDomainSnapshotObjListDataFree);
|
||||
if (!snapshots->objs) {
|
||||
VIR_FREE(snapshots);
|
||||
@ -1031,10 +1014,8 @@ virDomainListSnapshots(virDomainSnapshotObjListPtr snapshots,
|
||||
if (!snaps || count < 0)
|
||||
return count;
|
||||
if (VIR_ALLOC_N(names, count) < 0 ||
|
||||
VIR_ALLOC_N(list, count + 1) < 0) {
|
||||
virReportOOMError();
|
||||
VIR_ALLOC_N(list, count + 1) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (virDomainSnapshotObjListGetNames(snapshots, from, names, count,
|
||||
flags) < 0)
|
||||
|
@ -569,10 +569,8 @@ virStoragePoolDefParseSource(xmlXPathContextPtr ctxt,
|
||||
source->nhost = n;
|
||||
|
||||
if (source->nhost) {
|
||||
if (VIR_ALLOC_N(source->hosts, source->nhost) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC_N(source->hosts, source->nhost) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
for (i = 0; i < source->nhost; i++) {
|
||||
name = virXMLPropString(nodeset[i], "name");
|
||||
@ -605,7 +603,6 @@ virStoragePoolDefParseSource(xmlXPathContextPtr ctxt,
|
||||
if (nsource > 0) {
|
||||
if (VIR_ALLOC_N(source->devices, nsource) < 0) {
|
||||
VIR_FREE(nodeset);
|
||||
virReportOOMError();
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
@ -728,10 +725,8 @@ virStoragePoolDefParseSourceString(const char *srcSpec,
|
||||
&xpath_ctxt)))
|
||||
goto cleanup;
|
||||
|
||||
if (VIR_ALLOC(def) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (!(node = virXPathNode("/source", xpath_ctxt))) {
|
||||
virReportError(VIR_ERR_XML_ERROR, "%s",
|
||||
@ -840,10 +835,8 @@ virStoragePoolDefParseXML(xmlXPathContextPtr ctxt)
|
||||
char *uuid = NULL;
|
||||
char *target_path = NULL;
|
||||
|
||||
if (VIR_ALLOC(ret) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(ret) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
type = virXPathString("string(./@type)", ctxt);
|
||||
if (type == NULL) {
|
||||
@ -1267,10 +1260,8 @@ virStorageVolDefParseXML(virStoragePoolDefPtr pool,
|
||||
if (options == NULL)
|
||||
return NULL;
|
||||
|
||||
if (VIR_ALLOC(ret) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(ret) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ret->name = virXPathString("string(./name)", ctxt);
|
||||
if (ret->name == NULL) {
|
||||
@ -1373,7 +1364,7 @@ virStorageVolDefParseXML(virStoragePoolDefPtr pool,
|
||||
goto error;
|
||||
|
||||
if (!(ret->target.features = virBitmapNew(VIR_STORAGE_FILE_FEATURE_LAST)))
|
||||
goto no_memory;
|
||||
goto error;
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
int f = options->featureFromString((const char*)nodes[i]->name);
|
||||
@ -1400,8 +1391,6 @@ cleanup:
|
||||
VIR_FREE(unit);
|
||||
return ret;
|
||||
|
||||
no_memory:
|
||||
virReportOOMError();
|
||||
error:
|
||||
virStorageVolDefFree(ret);
|
||||
ret = NULL;
|
||||
@ -1743,10 +1732,8 @@ virStoragePoolObjAssignDef(virStoragePoolObjListPtr pools,
|
||||
return pool;
|
||||
}
|
||||
|
||||
if (VIR_ALLOC(pool) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(pool) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (virMutexInit(&pool->lock) < 0) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
@ -1762,7 +1749,6 @@ virStoragePoolObjAssignDef(virStoragePoolObjListPtr pools,
|
||||
pool->def = NULL;
|
||||
virStoragePoolObjUnlock(pool);
|
||||
virStoragePoolObjFree(pool);
|
||||
virReportOOMError();
|
||||
return NULL;
|
||||
}
|
||||
pools->objs[pools->count++] = pool;
|
||||
@ -1933,10 +1919,8 @@ virStoragePoolSourceListNewSource(virStoragePoolSourceListPtr list)
|
||||
{
|
||||
virStoragePoolSourcePtr source;
|
||||
|
||||
if (VIR_REALLOC_N(list->sources, list->nsources + 1) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_REALLOC_N(list->sources, list->nsources + 1) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
source = &list->sources[list->nsources++];
|
||||
memset(source, 0, sizeof(*source));
|
||||
@ -2215,12 +2199,8 @@ virStoragePoolObjListExport(virConnectPtr conn,
|
||||
int ret = -1;
|
||||
int i;
|
||||
|
||||
if (pools) {
|
||||
if (VIR_ALLOC_N(tmp_pools, poolobjs.count + 1) < 0) {
|
||||
virReportOOMError();
|
||||
if (pools && VIR_ALLOC_N(tmp_pools, poolobjs.count + 1) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < poolobjs.count; i++) {
|
||||
virStoragePoolObjPtr poolobj = poolobjs.objs[i];
|
||||
|
@ -77,10 +77,8 @@ virStorageEncryptionSecretParse(xmlXPathContextPtr ctxt,
|
||||
int type;
|
||||
char *uuidstr = NULL;
|
||||
|
||||
if (VIR_ALLOC(ret) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(ret) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
old_node = ctxt->node;
|
||||
ctxt->node = node;
|
||||
@ -134,10 +132,8 @@ virStorageEncryptionParseXML(xmlXPathContextPtr ctxt)
|
||||
char *format_str;
|
||||
int format, i, n;
|
||||
|
||||
if (VIR_ALLOC(ret) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(ret) < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
format_str = virXPathString("string(./@format)", ctxt);
|
||||
if (format_str == NULL) {
|
||||
@ -160,10 +156,8 @@ virStorageEncryptionParseXML(xmlXPathContextPtr ctxt)
|
||||
if (n < 0){
|
||||
goto cleanup;
|
||||
}
|
||||
if (n != 0 && VIR_ALLOC_N(ret->secrets, n) < 0) {
|
||||
virReportOOMError();
|
||||
if (n != 0 && VIR_ALLOC_N(ret->secrets, n) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
ret->nsecrets = n;
|
||||
for (i = 0; i < n; i++) {
|
||||
ret->secrets[i] = virStorageEncryptionSecretParse(ctxt, nodes[i]);
|
||||
|
@ -89,10 +89,8 @@ static char *virChrdevLockFilePath(const char *dev)
|
||||
++p;
|
||||
}
|
||||
|
||||
if (virAsprintf(&path, "%s/LCK..%s", VIR_CHRDEV_LOCK_FILE_PATH, filename) < 0) {
|
||||
virReportOOMError();
|
||||
if (virAsprintf(&path, "%s/LCK..%s", VIR_CHRDEV_LOCK_FILE_PATH, filename) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
sanitizedPath = virFileSanitizePath(path);
|
||||
|
||||
@ -138,10 +136,8 @@ static int virChrdevLockFileCreate(const char *dev)
|
||||
|
||||
/* ensure correct format according to filesystem hierarchy standard */
|
||||
/* http://www.pathname.com/fhs/pub/fhs-2.3.html#VARLOCKLOCKFILES */
|
||||
if (virAsprintf(&pidStr, "%10lld\n", (long long) getpid()) < 0) {
|
||||
virReportOOMError();
|
||||
if (virAsprintf(&pidStr, "%10lld\n", (long long) getpid()) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
/* create the lock file */
|
||||
if ((lockfd = open(path, O_WRONLY | O_CREAT | O_EXCL, 00644)) < 0) {
|
||||
@ -274,6 +270,8 @@ virChrdevsPtr virChrdevAlloc(void)
|
||||
return NULL;
|
||||
|
||||
if (virMutexInit(&devs->lock) < 0) {
|
||||
virReportSystemError(errno, "%s",
|
||||
_("Unable to init device stream mutex"));
|
||||
VIR_FREE(devs);
|
||||
return NULL;
|
||||
}
|
||||
@ -396,10 +394,8 @@ int virChrdevOpen(virChrdevsPtr devs,
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (VIR_ALLOC(cbdata) < 0) {
|
||||
virReportOOMError();
|
||||
if (VIR_ALLOC(cbdata) < 0)
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (virHashAddEntry(devs->hash, path, st) < 0)
|
||||
goto error;
|
||||
|
@ -206,16 +206,19 @@ qemuDomainTrackJob(enum qemuDomainJob job)
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
*qemuDomainObjPrivateAlloc(void)
|
||||
static void *
|
||||
qemuDomainObjPrivateAlloc(void)
|
||||
{
|
||||
qemuDomainObjPrivatePtr priv;
|
||||
|
||||
if (VIR_ALLOC(priv) < 0)
|
||||
return NULL;
|
||||
|
||||
if (qemuDomainObjInitJob(priv) < 0)
|
||||
if (qemuDomainObjInitJob(priv) < 0) {
|
||||
virReportSystemError(errno, "%s",
|
||||
_("Unable to init qemu driver mutexes"));
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (!(priv->devs = virChrdevAlloc()))
|
||||
goto error;
|
||||
|
@ -36,6 +36,7 @@
|
||||
#include "c-ctype.h"
|
||||
#include "count-one-bits.h"
|
||||
#include "virstring.h"
|
||||
#include "virerror.h"
|
||||
|
||||
#define VIR_FROM_THIS VIR_FROM_NONE
|
||||
|
||||
@ -66,8 +67,10 @@ virBitmapPtr virBitmapNew(size_t size)
|
||||
virBitmapPtr bitmap;
|
||||
size_t sz;
|
||||
|
||||
if (SIZE_MAX - VIR_BITMAP_BITS_PER_UNIT < size || size == 0)
|
||||
if (SIZE_MAX - VIR_BITMAP_BITS_PER_UNIT < size || size == 0) {
|
||||
virReportOOMError();
|
||||
return NULL;
|
||||
}
|
||||
|
||||
sz = (size + VIR_BITMAP_BITS_PER_UNIT - 1) /
|
||||
VIR_BITMAP_BITS_PER_UNIT;
|
||||
|
Loading…
x
Reference in New Issue
Block a user