}
type = virDomainGetSchedulerType (dom, &nparams);
- if (type == NULL) return -1;
+ if (type == NULL) {
+ virDomainFree(dom);
+ return -1;
+ }
ret->type = type;
ret->nparams = nparams;
+ virDomainFree(dom);
return 0;
}
r = virDomainGetSchedulerParameters (dom, params, &nparams);
if (r == -1) {
+ virDomainFree(dom);
free (params);
return -1;
}
ret->params.params_val = malloc (sizeof (struct remote_sched_param)
* nparams);
if (ret->params.params_val == NULL) {
+ virDomainFree(dom);
free (params);
remoteDispatchError (client, req,
"out of memory allocating return array");
// remoteDispatchClientRequest will free this:
ret->params.params_val[i].field = strdup (params[i].field);
if (ret->params.params_val[i].field == NULL) {
+ virDomainFree(dom);
free (params);
remoteDispatchError (client, req,
"out of memory allocating return array");
case VIR_DOMAIN_SCHED_FIELD_BOOLEAN:
ret->params.params_val[i].value.remote_sched_param_value_u.b = params[i].value.b; break;
default:
+ virDomainFree(dom);
free (params);
remoteDispatchError (client, req, "unknown type");
return -2;
}
}
+ virDomainFree(dom);
free (params);
return 0;
}
r = virDomainSetSchedulerParameters (dom, params, nparams);
+ virDomainFree(dom);
free (params);
if (r == -1) return -1;
return -2;
}
- if (virDomainAttachDevice (dom, args->xml) == -1)
+ if (virDomainAttachDevice (dom, args->xml) == -1) {
+ virDomainFree(dom);
return -1;
-
+ }
+ virDomainFree(dom);
return 0;
}
return -2;
}
- if (virDomainCreate (dom) == -1)
+ if (virDomainCreate (dom) == -1) {
+ virDomainFree(dom);
return -1;
-
+ }
+ virDomainFree(dom);
return 0;
}
if (dom == NULL) return -1;
make_nonnull_domain (&ret->dom, dom);
+ virDomainFree(dom);
return 0;
}
if (dom == NULL) return -1;
make_nonnull_domain (&ret->dom, dom);
+ virDomainFree(dom);
return 0;
}
if (virDomainDestroy (dom) == -1)
return -1;
-
+ /* No need to free dom - destroy does it for us */
return 0;
}
return -2;
}
- if (virDomainDetachDevice (dom, args->xml) == -1)
+ if (virDomainDetachDevice (dom, args->xml) == -1) {
+ virDomainFree(dom);
return -1;
+ }
+ virDomainFree(dom);
return 0;
}
/* remoteDispatchClientRequest will free this. */
ret->xml = virDomainGetXMLDesc (dom, args->flags);
- if (!ret->xml) return -1;
-
+ if (!ret->xml) {
+ virDomainFree(dom);
+ return -1;
+ }
+ virDomainFree(dom);
return 0;
}
return -2;
}
- if (virDomainGetAutostart (dom, &ret->autostart) == -1)
+ if (virDomainGetAutostart (dom, &ret->autostart) == -1) {
+ virDomainFree(dom);
return -1;
-
+ }
+ virDomainFree(dom);
return 0;
}
return -2;
}
- if (virDomainGetInfo (dom, &info) == -1)
+ if (virDomainGetInfo (dom, &info) == -1) {
+ virDomainFree(dom);
return -1;
+ }
ret->state = info.state;
ret->max_mem = info.maxMem;
ret->nr_virt_cpu = info.nrVirtCpu;
ret->cpu_time = info.cpuTime;
+ virDomainFree(dom);
+
return 0;
}
}
ret->memory = virDomainGetMaxMemory (dom);
- if (ret->memory == 0) return -1;
-
+ if (ret->memory == 0) {
+ virDomainFree(dom);
+ return -1;
+ }
+ virDomainFree(dom);
return 0;
}
}
ret->num = virDomainGetMaxVcpus (dom);
- if (ret->num == -1) return -1;
-
+ if (ret->num == -1) {
+ virDomainFree(dom);
+ return -1;
+ }
+ virDomainFree(dom);
return 0;
}
/* remoteDispatchClientRequest will free this */
ret->type = virDomainGetOSType (dom);
- if (ret->type == NULL) return -1;
-
+ if (ret->type == NULL) {
+ virDomainFree(dom);
+ return -1;
+ }
+ virDomainFree(dom);
return 0;
}
}
if (args->maxinfo > REMOTE_VCPUINFO_MAX) {
+ virDomainFree(dom);
remoteDispatchError (client, req, "maxinfo > REMOTE_VCPUINFO_MAX");
return -2;
}
if (args->maxinfo * args->maplen > REMOTE_CPUMAPS_MAX) {
+ virDomainFree(dom);
remoteDispatchError (client, req, "maxinfo * maplen > REMOTE_CPUMAPS_MAX");
return -2;
}
info_len = virDomainGetVcpus (dom,
info, args->maxinfo,
cpumaps, args->maplen);
- if (info_len == -1) return -1;
+ if (info_len == -1) {
+ virDomainFree(dom);
+ return -1;
+ }
/* Allocate the return buffer for info. */
ret->info.info_len = info_len;
ret->cpumaps.cpumaps_len = args->maxinfo * args->maplen;
ret->cpumaps.cpumaps_val = (char *) cpumaps;
+ virDomainFree(dom);
return 0;
}
if (dom == NULL) return -1;
make_nonnull_domain (&ret->dom, dom);
-
+ virDomainFree(dom);
return 0;
}
if (dom == NULL) return -1;
make_nonnull_domain (&ret->dom, dom);
-
+ virDomainFree(dom);
return 0;
}
if (dom == NULL) return -1;
make_nonnull_domain (&ret->dom, dom);
-
+ virDomainFree(dom);
return 0;
}
}
if (args->cpumap.cpumap_len > REMOTE_CPUMAP_MAX) {
+ virDomainFree(dom);
remoteDispatchError (client, req, "cpumap_len > REMOTE_CPUMAP_MAX");
return -2;
}
rv = virDomainPinVcpu (dom, args->vcpu,
(unsigned char *) args->cpumap.cpumap_val,
args->cpumap.cpumap_len);
- if (rv == -1) return -1;
-
+ if (rv == -1) {
+ virDomainFree(dom);
+ return -1;
+ }
+ virDomainFree(dom);
return 0;
}
return -2;
}
- if (virDomainReboot (dom, args->flags) == -1)
+ if (virDomainReboot (dom, args->flags) == -1) {
+ virDomainFree(dom);
return -1;
-
+ }
+ virDomainFree(dom);
return 0;
}
return -2;
}
- if (virDomainResume (dom) == -1)
+ if (virDomainResume (dom) == -1) {
+ virDomainFree(dom);
return -1;
-
+ }
+ virDomainFree(dom);
return 0;
}
return -2;
}
- if (virDomainSave (dom, args->to) == -1)
+ if (virDomainSave (dom, args->to) == -1) {
+ virDomainFree(dom);
return -1;
-
+ }
+ virDomainFree(dom);
return 0;
}
return -2;
}
- if (virDomainCoreDump (dom, args->to, args->flags) == -1)
+ if (virDomainCoreDump (dom, args->to, args->flags) == -1) {
+ virDomainFree(dom);
return -1;
-
+ }
+ virDomainFree(dom);
return 0;
}
return -2;
}
- if (virDomainSetAutostart (dom, args->autostart) == -1)
+ if (virDomainSetAutostart (dom, args->autostart) == -1) {
+ virDomainFree(dom);
return -1;
-
+ }
+ virDomainFree(dom);
return 0;
}
return -2;
}
- if (virDomainSetMaxMemory (dom, args->memory) == -1)
+ if (virDomainSetMaxMemory (dom, args->memory) == -1) {
+ virDomainFree(dom);
return -1;
-
+ }
+ virDomainFree(dom);
return 0;
}
return -2;
}
- if (virDomainSetMemory (dom, args->memory) == -1)
+ if (virDomainSetMemory (dom, args->memory) == -1) {
+ virDomainFree(dom);
return -1;
-
+ }
+ virDomainFree(dom);
return 0;
}
return -2;
}
- if (virDomainSetVcpus (dom, args->nvcpus) == -1)
+ if (virDomainSetVcpus (dom, args->nvcpus) == -1) {
+ virDomainFree(dom);
return -1;
-
+ }
+ virDomainFree(dom);
return 0;
}
return -2;
}
- if (virDomainShutdown (dom) == -1)
+ if (virDomainShutdown (dom) == -1) {
+ virDomainFree(dom);
return -1;
-
+ }
+ virDomainFree(dom);
return 0;
}
return -2;
}
- if (virDomainSuspend (dom) == -1)
+ if (virDomainSuspend (dom) == -1) {
+ virDomainFree(dom);
return -1;
-
+ }
+ virDomainFree(dom);
return 0;
}
return -2;
}
- if (virDomainUndefine (dom) == -1)
+ if (virDomainUndefine (dom) == -1) {
+ virDomainFree(dom);
return -1;
-
+ }
+ virDomainFree(dom);
return 0;
}
return -2;
}
- if (virNetworkCreate (net) == -1)
+ if (virNetworkCreate (net) == -1) {
+ virNetworkFree(net);
return -1;
-
+ }
+ virNetworkFree(net);
return 0;
}
if (net == NULL) return -1;
make_nonnull_network (&ret->net, net);
-
+ virNetworkFree(net);
return 0;
}
if (net == NULL) return -1;
make_nonnull_network (&ret->net, net);
-
+ virNetworkFree(net);
return 0;
}
return -2;
}
- if (virNetworkDestroy (net) == -1)
+ if (virNetworkDestroy (net) == -1) {
+ virNetworkFree(net);
return -1;
-
+ }
+ virNetworkFree(net);
return 0;
}
/* remoteDispatchClientRequest will free this. */
ret->xml = virNetworkGetXMLDesc (net, args->flags);
- if (!ret->xml) return -1;
-
+ if (!ret->xml) {
+ virNetworkFree(net);
+ return -1;
+ }
+ virNetworkFree(net);
return 0;
}
return -2;
}
- if (virNetworkGetAutostart (net, &ret->autostart) == -1)
+ if (virNetworkGetAutostart (net, &ret->autostart) == -1) {
+ virNetworkFree(net);
return -1;
-
+ }
+ virNetworkFree(net);
return 0;
}
/* remoteDispatchClientRequest will free this. */
ret->name = virNetworkGetBridgeName (net);
- if (!ret->name) return -1;
-
+ if (!ret->name) {
+ virNetworkFree(net);
+ return -1;
+ }
+ virNetworkFree(net);
return 0;
}
if (net == NULL) return -1;
make_nonnull_network (&ret->net, net);
-
+ virNetworkFree(net);
return 0;
}
if (net == NULL) return -1;
make_nonnull_network (&ret->net, net);
-
+ virNetworkFree(net);
return 0;
}
return -2;
}
- if (virNetworkSetAutostart (net, args->autostart) == -1)
+ if (virNetworkSetAutostart (net, args->autostart) == -1) {
+ virNetworkFree(net);
return -1;
-
+ }
+ virNetworkFree(net);
return 0;
}
return -2;
}
- if (virNetworkUndefine (net) == -1)
+ if (virNetworkUndefine (net) == -1) {
+ virNetworkFree(net);
return -1;
-
+ }
+ virNetworkFree(net);
return 0;
}