* entry points where an automatically generated stub is
* unpractical
*
- * Copyright (C) 2005, 2007-2011 Red Hat, Inc.
+ * Copyright (C) 2005, 2007-2012 Red Hat, Inc.
*
* Daniel Veillard <veillard@redhat.com>
*/
#include "libvirt/virterror.h"
#include "typewrappers.h"
#include "libvirt.h"
+#include "memory.h"
#ifndef __CYGWIN__
extern void initlibvirtmod(void);
if (i_retval < 0)
return VIR_PY_NONE;
- if ((params = malloc(sizeof(*params)*nparams)) == NULL)
+ if (VIR_ALLOC_N(params, nparams) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
LIBVIRT_END_ALLOW_THREADS;
if (i_retval < 0) {
- free(params);
+ VIR_FREE(params);
return VIR_PY_NONE;
}
/* convert to a Python tuple of long objects */
if ((info = PyDict_New()) == NULL) {
- free(params);
+ VIR_FREE(params);
return VIR_PY_NONE;
}
break;
default:
- free(params);
+ VIR_FREE(params);
Py_DECREF(info);
return VIR_PY_NONE;
}
PyDict_SetItem(info, key, val);
}
- free(params);
+ VIR_FREE(params);
return(info);
}
/* convert to a Python tuple of long objects */
if ((info = PyTuple_New(2)) == NULL) {
- free(c_retval);
+ VIR_FREE(c_retval);
return VIR_PY_NONE;
}
PyTuple_SetItem(info, 0, libvirt_constcharPtrWrap(c_retval));
PyTuple_SetItem(info, 1, PyInt_FromLong((long)nparams));
- free(c_retval);
+ VIR_FREE(c_retval);
return(info);
}
if (c_retval == NULL)
return VIR_PY_NONE;
- free(c_retval);
+ VIR_FREE(c_retval);
- if ((params = malloc(sizeof(*params)*nparams)) == NULL)
+ if (VIR_ALLOC_N(params, nparams) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
LIBVIRT_END_ALLOW_THREADS;
if (i_retval < 0) {
- free(params);
+ VIR_FREE(params);
return VIR_PY_NONE;
}
/* convert to a Python tuple of long objects */
if ((info = PyDict_New()) == NULL) {
- free(params);
+ VIR_FREE(params);
return VIR_PY_NONE;
}
for (i = 0 ; i < nparams ; i++) {
break;
default:
- free(params);
+ VIR_FREE(params);
Py_DECREF(info);
return VIR_PY_NONE;
}
key = libvirt_constcharPtrWrap(params[i].field);
PyDict_SetItem(info, key, val);
}
- free(params);
+ VIR_FREE(params);
return(info);
}
if (c_retval == NULL)
return VIR_PY_NONE;
- free(c_retval);
+ VIR_FREE(c_retval);
- if ((params = malloc(sizeof(*params)*nparams)) == NULL)
+ if (VIR_ALLOC_N(params, nparams) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
LIBVIRT_END_ALLOW_THREADS;
if (i_retval < 0) {
- free(params);
+ VIR_FREE(params);
return VIR_PY_NONE;
}
/* convert to a Python tuple of long objects */
if ((info = PyDict_New()) == NULL) {
- free(params);
+ VIR_FREE(params);
return VIR_PY_NONE;
}
for (i = 0 ; i < nparams ; i++) {
break;
default:
- free(params);
+ VIR_FREE(params);
Py_DECREF(info);
return VIR_PY_NONE;
}
key = libvirt_constcharPtrWrap(params[i].field);
PyDict_SetItem(info, key, val);
}
- free(params);
+ VIR_FREE(params);
return(info);
}
if (c_retval == NULL)
return VIR_PY_INT_FAIL;
- free(c_retval);
+ VIR_FREE(c_retval);
- if ((params = malloc(sizeof(*params)*nparams)) == NULL)
+ if (VIR_ALLOC_N(params, nparams) < 0)
return VIR_PY_INT_FAIL;
LIBVIRT_BEGIN_ALLOW_THREADS;
LIBVIRT_END_ALLOW_THREADS;
if (i_retval < 0) {
- free(params);
+ VIR_FREE(params);
return VIR_PY_INT_FAIL;
}
break;
default:
- free(params);
+ VIR_FREE(params);
return VIR_PY_INT_FAIL;
}
}
i_retval = virDomainSetSchedulerParameters(domain, params, nparams);
LIBVIRT_END_ALLOW_THREADS;
if (i_retval < 0) {
- free(params);
+ VIR_FREE(params);
return VIR_PY_INT_FAIL;
}
- free(params);
+ VIR_FREE(params);
return VIR_PY_INT_SUCCESS;
}
if (c_retval == NULL)
return VIR_PY_INT_FAIL;
- free(c_retval);
+ VIR_FREE(c_retval);
- if ((params = malloc(sizeof(*params)*nparams)) == NULL)
+ if (VIR_ALLOC_N(params, nparams) < 0)
return VIR_PY_INT_FAIL;
LIBVIRT_BEGIN_ALLOW_THREADS;
LIBVIRT_END_ALLOW_THREADS;
if (i_retval < 0) {
- free(params);
+ VIR_FREE(params);
return VIR_PY_INT_FAIL;
}
break;
default:
- free(params);
+ VIR_FREE(params);
return VIR_PY_INT_FAIL;
}
}
i_retval = virDomainSetSchedulerParametersFlags(domain, params, nparams, flags);
LIBVIRT_END_ALLOW_THREADS;
if (i_retval < 0) {
- free(params);
+ VIR_FREE(params);
return VIR_PY_INT_FAIL;
}
- free(params);
+ VIR_FREE(params);
return VIR_PY_INT_SUCCESS;
}
if (i_retval < 0)
return VIR_PY_INT_FAIL;
- if ((params = malloc(sizeof(*params)*nparams)) == NULL)
+ if (VIR_ALLOC_N(params, nparams) < 0)
return VIR_PY_INT_FAIL;
LIBVIRT_BEGIN_ALLOW_THREADS;
LIBVIRT_END_ALLOW_THREADS;
if (i_retval < 0) {
- free(params);
+ VIR_FREE(params);
return VIR_PY_INT_FAIL;
}
break;
default:
- free(params);
+ VIR_FREE(params);
return VIR_PY_INT_FAIL;
}
}
i_retval = virDomainSetBlkioParameters(domain, params, nparams, flags);
LIBVIRT_END_ALLOW_THREADS;
if (i_retval < 0) {
- free(params);
+ VIR_FREE(params);
return VIR_PY_INT_FAIL;
}
- free(params);
+ VIR_FREE(params);
return VIR_PY_INT_SUCCESS;
}
if (i_retval < 0)
return VIR_PY_NONE;
- if ((params = malloc(sizeof(*params)*nparams)) == NULL)
+ if (VIR_ALLOC_N(params, nparams) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
LIBVIRT_END_ALLOW_THREADS;
if (i_retval < 0) {
- free(params);
+ VIR_FREE(params);
return VIR_PY_NONE;
}
/* convert to a Python tuple of long objects */
if ((info = PyDict_New()) == NULL) {
- free(params);
+ VIR_FREE(params);
return VIR_PY_NONE;
}
for (i = 0 ; i < nparams ; i++) {
break;
default:
- free(params);
+ VIR_FREE(params);
Py_DECREF(info);
return VIR_PY_NONE;
}
key = libvirt_constcharPtrWrap(params[i].field);
PyDict_SetItem(info, key, val);
}
- free(params);
+ VIR_FREE(params);
return(info);
}
if (i_retval < 0)
return VIR_PY_INT_FAIL;
- if ((params = malloc(sizeof(*params)*nparams)) == NULL)
+ if (VIR_ALLOC_N(params, nparams) < 0)
return VIR_PY_INT_FAIL;
LIBVIRT_BEGIN_ALLOW_THREADS;
LIBVIRT_END_ALLOW_THREADS;
if (i_retval < 0) {
- free(params);
+ VIR_FREE(params);
return VIR_PY_INT_FAIL;
}
break;
default:
- free(params);
+ VIR_FREE(params);
return VIR_PY_INT_FAIL;
}
}
i_retval = virDomainSetMemoryParameters(domain, params, nparams, flags);
LIBVIRT_END_ALLOW_THREADS;
if (i_retval < 0) {
- free(params);
+ VIR_FREE(params);
return VIR_PY_INT_FAIL;
}
- free(params);
+ VIR_FREE(params);
return VIR_PY_INT_SUCCESS;
}
if (i_retval < 0)
return VIR_PY_NONE;
- if ((params = malloc(sizeof(*params)*nparams)) == NULL)
+ if (VIR_ALLOC_N(params, nparams) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
LIBVIRT_END_ALLOW_THREADS;
if (i_retval < 0) {
- free(params);
+ VIR_FREE(params);
return VIR_PY_NONE;
}
/* convert to a Python tuple of long objects */
if ((info = PyDict_New()) == NULL) {
- free(params);
+ VIR_FREE(params);
return VIR_PY_NONE;
}
for (i = 0 ; i < nparams ; i++) {
break;
default:
- free(params);
+ VIR_FREE(params);
Py_DECREF(info);
return VIR_PY_NONE;
}
key = libvirt_constcharPtrWrap(params[i].field);
PyDict_SetItem(info, key, val);
}
- free(params);
+ VIR_FREE(params);
return(info);
}
if (i_retval < 0)
return VIR_PY_NONE;
- if ((cpuinfo = malloc(sizeof(*cpuinfo)*dominfo.nrVirtCpu)) == NULL)
+ if (VIR_ALLOC_N(cpuinfo, dominfo.nrVirtCpu) < 0)
return VIR_PY_NONE;
cpumaplen = VIR_CPU_MAPLEN(VIR_NODEINFO_MAXCPUS(nodeinfo));
- if ((cpumap = malloc(dominfo.nrVirtCpu * cpumaplen)) == NULL)
+ if (xalloc_oversized(dominfo.nrVirtCpu, cpumaplen) ||
+ VIR_ALLOC_N(cpumap, dominfo.nrVirtCpu * cpumaplen) < 0)
goto cleanup;
LIBVIRT_BEGIN_ALLOW_THREADS;
PyTuple_SetItem(pyretval, 0, pycpuinfo);
PyTuple_SetItem(pyretval, 1, pycpumap);
- free(cpuinfo);
- free(cpumap);
+ VIR_FREE(cpuinfo);
+ VIR_FREE(cpumap);
return(pyretval);
cleanup:
- free(cpuinfo);
- free(cpumap);
+ VIR_FREE(cpuinfo);
+ VIR_FREE(cpumap);
/* NB, Py_DECREF is a badly defined macro, so we require
* braces here to avoid 'ambiguous else' warnings from
* the compiler.
return VIR_PY_INT_FAIL;
cpumaplen = VIR_CPU_MAPLEN(VIR_NODEINFO_MAXCPUS(nodeinfo));
- if ((cpumap = malloc(cpumaplen)) == NULL)
+ if (VIR_ALLOC_N(cpumap, cpumaplen) < 0)
return VIR_PY_INT_FAIL;
- memset(cpumap, 0, cpumaplen);
truth = PyBool_FromLong(1);
for (i = 0 ; i < VIR_NODEINFO_MAXCPUS(nodeinfo) ; i++) {
i_retval = virDomainPinVcpu(domain, vcpu, cpumap, cpumaplen);
LIBVIRT_END_ALLOW_THREADS;
Py_DECREF(truth);
- free(cpumap);
+ VIR_FREE(cpumap);
if (i_retval < 0)
return VIR_PY_INT_FAIL;
return VIR_PY_INT_FAIL;
cpumaplen = VIR_CPU_MAPLEN(VIR_NODEINFO_MAXCPUS(nodeinfo));
- if ((cpumap = malloc(cpumaplen)) == NULL)
+ if (VIR_ALLOC_N(cpumap, cpumaplen) < 0)
return VIR_PY_INT_FAIL;
- memset(cpumap, 0, cpumaplen);
truth = PyBool_FromLong(1);
for (i = 0 ; i < VIR_NODEINFO_MAXCPUS(nodeinfo) ; i++) {
i_retval = virDomainPinVcpuFlags(domain, vcpu, cpumap, cpumaplen, flags);
LIBVIRT_END_ALLOW_THREADS;
Py_DECREF(truth);
- free(cpumap);
+ VIR_FREE(cpumap);
if (i_retval < 0)
return VIR_PY_INT_FAIL;
return VIR_PY_NONE;
cpumaplen = VIR_CPU_MAPLEN(VIR_NODEINFO_MAXCPUS(nodeinfo));
- if ((cpumaps = malloc(dominfo.nrVirtCpu * cpumaplen)) == NULL)
+ if (xalloc_oversized(dominfo.nrVirtCpu, cpumaplen) ||
+ VIR_ALLOC_N(cpumaps, dominfo.nrVirtCpu * cpumaplen) < 0)
goto cleanup;
- memset(cpumaps, 0, dominfo.nrVirtCpu * cpumaplen);
LIBVIRT_BEGIN_ALLOW_THREADS;
i_retval = virDomainGetVcpuPinInfo(domain, dominfo.nrVirtCpu,
PyList_SetItem(pycpumaps, vcpu, mapinfo);
}
- free(cpumaps);
+ VIR_FREE(cpumaps);
return pycpumaps;
cleanup:
- free(cpumaps);
+ VIR_FREE(cpumaps);
if (pycpumaps) { Py_DECREF(pycpumaps);}
auth.ncredtype = PyList_Size(pycredtype);
if (auth.ncredtype) {
int i;
- auth.credtype = malloc(sizeof(*auth.credtype) * auth.ncredtype);
- if (auth.credtype == NULL)
+ if (VIR_ALLOC_N(auth.credtype, auth.ncredtype) < 0)
return VIR_PY_NONE;
for (i = 0 ; i < auth.ncredtype ; i++) {
PyObject *val;
c_retval = virConnectOpenAuth(name, &auth, flags);
LIBVIRT_END_ALLOW_THREADS;
- free(auth.credtype);
+ VIR_FREE(auth.credtype);
py_retval = libvirt_virConnectPtrWrap((virConnectPtr) c_retval);
return(py_retval);
}
return VIR_PY_NONE;
if (c_retval) {
- ids = malloc(sizeof(*ids) * c_retval);
- if (!ids)
+ if (VIR_ALLOC_N(ids, c_retval) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
c_retval = virConnectListDomains(conn, ids, c_retval);
LIBVIRT_END_ALLOW_THREADS;
if (c_retval < 0) {
- free(ids);
+ VIR_FREE(ids);
return VIR_PY_NONE;
}
}
for (i = 0;i < c_retval;i++) {
PyList_SetItem(py_retval, i, libvirt_intWrap(ids[i]));
}
- free(ids);
+ VIR_FREE(ids);
}
return(py_retval);
return VIR_PY_NONE;
if (c_retval) {
- names = malloc(sizeof(*names) * c_retval);
- if (!names)
+ if (VIR_ALLOC_N(names, c_retval) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
c_retval = virConnectListDefinedDomains(conn, names, c_retval);
LIBVIRT_END_ALLOW_THREADS;
if (c_retval < 0) {
- free(names);
+ VIR_FREE(names);
return VIR_PY_NONE;
}
}
if (names) {
for (i = 0;i < c_retval;i++) {
PyList_SetItem(py_retval, i, libvirt_constcharPtrWrap(names[i]));
- free(names[i]);
+ VIR_FREE(names[i]);
}
- free(names);
+ VIR_FREE(names);
}
return(py_retval);
return VIR_PY_NONE;
if (c_retval) {
- names = malloc(sizeof(*names) * c_retval);
- if (!names)
+ if (VIR_ALLOC_N(names, c_retval) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
c_retval = virDomainSnapshotListNames(dom, names, c_retval, flags);
LIBVIRT_END_ALLOW_THREADS;
if (c_retval < 0) {
- free(names);
+ VIR_FREE(names);
return VIR_PY_NONE;
}
}
if (names) {
for (i = 0;i < c_retval;i++) {
PyList_SetItem(py_retval, i, libvirt_constcharPtrWrap(names[i]));
- free(names[i]);
+ VIR_FREE(names[i]);
}
- free(names);
+ VIR_FREE(names);
}
return(py_retval);
return VIR_PY_NONE;
if (c_retval) {
- names = malloc(sizeof(*names) * c_retval);
- if (!names)
+ if (VIR_ALLOC_N(names, c_retval) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
c_retval = virDomainSnapshotListChildrenNames(snap, names, c_retval, flags);
LIBVIRT_END_ALLOW_THREADS;
if (c_retval < 0) {
- free(names);
+ VIR_FREE(names);
return VIR_PY_NONE;
}
}
if (names) {
for (i = 0;i < c_retval;i++) {
PyList_SetItem(py_retval, i, libvirt_constcharPtrWrap(names[i]));
- free(names[i]);
+ VIR_FREE(names[i]);
}
- free(names);
+ VIR_FREE(names);
}
return(py_retval);
return VIR_PY_NONE;
if (c_retval) {
- names = malloc(sizeof(*names) * c_retval);
- if (!names)
+ if (VIR_ALLOC_N(names, c_retval) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
c_retval = virConnectListNetworks(conn, names, c_retval);
LIBVIRT_END_ALLOW_THREADS;
if (c_retval < 0) {
- free(names);
+ VIR_FREE(names);
return VIR_PY_NONE;
}
}
if (names) {
for (i = 0;i < c_retval;i++) {
PyList_SetItem(py_retval, i, libvirt_constcharPtrWrap(names[i]));
- free(names[i]);
+ VIR_FREE(names[i]);
}
- free(names);
+ VIR_FREE(names);
}
return(py_retval);
return VIR_PY_NONE;
if (c_retval) {
- names = malloc(sizeof(*names) * c_retval);
- if (!names)
+ if (VIR_ALLOC_N(names, c_retval) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
c_retval = virConnectListDefinedNetworks(conn, names, c_retval);
LIBVIRT_END_ALLOW_THREADS;
if (c_retval < 0) {
- free(names);
+ VIR_FREE(names);
return VIR_PY_NONE;
}
}
if (names) {
for (i = 0;i < c_retval;i++) {
PyList_SetItem(py_retval, i, libvirt_constcharPtrWrap(names[i]));
- free(names[i]);
+ VIR_FREE(names[i]);
}
- free(names);
+ VIR_FREE(names);
}
return(py_retval);
return VIR_PY_NONE;
conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
- freeMems = malloc(maxCells * sizeof(*freeMems));
- if (freeMems == NULL)
+ if (VIR_ALLOC_N(freeMems, maxCells) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
LIBVIRT_END_ALLOW_THREADS;
if (c_retval < 0) {
- free(freeMems);
+ VIR_FREE(freeMems);
return VIR_PY_NONE;
}
py_retval = PyList_New(c_retval);
PyList_SetItem(py_retval, i,
libvirt_longlongWrap((long long) freeMems[i]));
}
- free(freeMems);
+ VIR_FREE(freeMems);
return(py_retval);
}
return VIR_PY_NONE;
if (nparams) {
- if (!(stats = malloc(sizeof(*stats) * nparams)))
+ if (VIR_ALLOC_N(stats, nparams) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
c_retval = virNodeGetCPUStats(conn, cpuNum, stats, &nparams, flags);
LIBVIRT_END_ALLOW_THREADS;
if (c_retval < 0) {
- free(stats);
+ VIR_FREE(stats);
return VIR_PY_NONE;
}
}
if (!(ret = PyDict_New())) {
- free(stats);
+ VIR_FREE(stats);
return VIR_PY_NONE;
}
for (i = 0; i < nparams; i++) {
libvirt_ulonglongWrap(stats[i].value));
}
- free(stats);
+ VIR_FREE(stats);
return ret;
}
return VIR_PY_NONE;
if (nparams) {
- if (!(stats = malloc(sizeof(*stats) * nparams)))
+ if (VIR_ALLOC_N(stats, nparams) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
c_retval = virNodeGetMemoryStats(conn, cellNum, stats, &nparams, flags);
LIBVIRT_END_ALLOW_THREADS;
if (c_retval < 0) {
- free(stats);
+ VIR_FREE(stats);
return VIR_PY_NONE;
}
}
if (!(ret = PyDict_New())) {
- free(stats);
+ VIR_FREE(stats);
return VIR_PY_NONE;
}
for (i = 0; i < nparams; i++) {
libvirt_ulonglongWrap(stats[i].value));
}
- free(stats);
+ VIR_FREE(stats);
return ret;
}
return VIR_PY_NONE;
if (c_retval) {
- names = malloc(sizeof(*names) * c_retval);
- if (!names)
+ if (VIR_ALLOC_N(names, c_retval) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
c_retval = virConnectListStoragePools(conn, names, c_retval);
LIBVIRT_END_ALLOW_THREADS;
if (c_retval < 0) {
- free(names);
+ VIR_FREE(names);
return VIR_PY_NONE;
}
}
if (py_retval == NULL) {
if (names) {
for (i = 0;i < c_retval;i++)
- free(names[i]);
- free(names);
+ VIR_FREE(names[i]);
+ VIR_FREE(names);
}
return VIR_PY_NONE;
}
if (names) {
for (i = 0;i < c_retval;i++) {
PyList_SetItem(py_retval, i, libvirt_constcharPtrWrap(names[i]));
- free(names[i]);
+ VIR_FREE(names[i]);
}
- free(names);
+ VIR_FREE(names);
}
return(py_retval);
return VIR_PY_NONE;
if (c_retval) {
- names = malloc(sizeof(*names) * c_retval);
- if (!names)
+ if (VIR_ALLOC_N(names, c_retval) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
c_retval = virConnectListDefinedStoragePools(conn, names, c_retval);
LIBVIRT_END_ALLOW_THREADS;
if (c_retval < 0) {
- free(names);
+ VIR_FREE(names);
return VIR_PY_NONE;
}
}
if (py_retval == NULL) {
if (names) {
for (i = 0;i < c_retval;i++)
- free(names[i]);
- free(names);
+ VIR_FREE(names[i]);
+ VIR_FREE(names);
}
return VIR_PY_NONE;
}
if (names) {
for (i = 0;i < c_retval;i++) {
PyList_SetItem(py_retval, i, libvirt_constcharPtrWrap(names[i]));
- free(names[i]);
+ VIR_FREE(names[i]);
}
- free(names);
+ VIR_FREE(names);
}
return(py_retval);
return VIR_PY_NONE;
if (c_retval) {
- names = malloc(sizeof(*names) * c_retval);
- if (!names)
+ if (VIR_ALLOC_N(names, c_retval) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
c_retval = virStoragePoolListVolumes(pool, names, c_retval);
LIBVIRT_END_ALLOW_THREADS;
if (c_retval < 0) {
- free(names);
+ VIR_FREE(names);
return VIR_PY_NONE;
}
}
if (py_retval == NULL) {
if (names) {
for (i = 0;i < c_retval;i++)
- free(names[i]);
- free(names);
+ VIR_FREE(names[i]);
+ VIR_FREE(names);
}
return VIR_PY_NONE;
}
if (names) {
for (i = 0;i < c_retval;i++) {
PyList_SetItem(py_retval, i, libvirt_constcharPtrWrap(names[i]));
- free(names[i]);
+ VIR_FREE(names[i]);
}
- free(names);
+ VIR_FREE(names);
}
return(py_retval);
return VIR_PY_NONE;
if (c_retval) {
- names = malloc(sizeof(*names) * c_retval);
- if (!names)
+ if (VIR_ALLOC_N(names, c_retval) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
c_retval = virNodeListDevices(conn, cap, names, c_retval, flags);
LIBVIRT_END_ALLOW_THREADS;
if (c_retval < 0) {
- free(names);
+ VIR_FREE(names);
return VIR_PY_NONE;
}
}
if (names) {
for (i = 0;i < c_retval;i++) {
PyList_SetItem(py_retval, i, libvirt_constcharPtrWrap(names[i]));
- free(names[i]);
+ VIR_FREE(names[i]);
}
- free(names);
+ VIR_FREE(names);
}
return(py_retval);
return VIR_PY_NONE;
if (c_retval) {
- names = malloc(sizeof(*names) * c_retval);
- if (!names)
+ if (VIR_ALLOC_N(names, c_retval) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
c_retval = virNodeDeviceListCaps(dev, names, c_retval);
LIBVIRT_END_ALLOW_THREADS;
if (c_retval < 0) {
- free(names);
+ VIR_FREE(names);
return VIR_PY_NONE;
}
}
if (names) {
for (i = 0;i < c_retval;i++) {
PyList_SetItem(py_retval, i, libvirt_constcharPtrWrap(names[i]));
- free(names[i]);
+ VIR_FREE(names[i]);
}
- free(names);
+ VIR_FREE(names);
}
return(py_retval);
return VIR_PY_NONE;
if (c_retval) {
- uuids = malloc(sizeof(*uuids) * c_retval);
- if (!uuids)
+ if (VIR_ALLOC_N(uuids, c_retval) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
c_retval = virConnectListSecrets(conn, uuids, c_retval);
LIBVIRT_END_ALLOW_THREADS;
if (c_retval < 0) {
- free(uuids);
+ VIR_FREE(uuids);
return VIR_PY_NONE;
}
}
if (uuids) {
for (i = 0;i < c_retval;i++) {
PyList_SetItem(py_retval, i, libvirt_constcharPtrWrap(uuids[i]));
- free(uuids[i]);
+ VIR_FREE(uuids[i]);
}
- free(uuids);
+ VIR_FREE(uuids);
}
return py_retval;
return VIR_PY_NONE;
py_retval = PyString_FromStringAndSize((const char *)c_retval, size);
- memset(c_retval, 0, size);
- free(c_retval);
+ VIR_FREE(c_retval);
return py_retval;
}
return VIR_PY_NONE;
if (c_retval) {
- uuids = malloc(sizeof(*uuids) * c_retval);
- if (!uuids)
+ if (VIR_ALLOC_N(uuids, c_retval) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
c_retval = virConnectListNWFilters(conn, uuids, c_retval);
LIBVIRT_END_ALLOW_THREADS;
if (c_retval < 0) {
- free(uuids);
+ VIR_FREE(uuids);
return VIR_PY_NONE;
}
}
if (uuids) {
for (i = 0;i < c_retval;i++) {
PyList_SetItem(py_retval, i, libvirt_constcharPtrWrap(uuids[i]));
- free(uuids[i]);
+ VIR_FREE(uuids[i]);
}
- free(uuids);
+ VIR_FREE(uuids);
}
return py_retval;
return VIR_PY_NONE;
if (c_retval) {
- names = malloc(sizeof(*names) * c_retval);
- if (!names)
+ if (VIR_ALLOC_N(names, c_retval) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
c_retval = virConnectListInterfaces(conn, names, c_retval);
LIBVIRT_END_ALLOW_THREADS;
if (c_retval < 0) {
- free(names);
+ VIR_FREE(names);
return VIR_PY_NONE;
}
}
if (py_retval == NULL) {
if (names) {
for (i = 0;i < c_retval;i++)
- free(names[i]);
- free(names);
+ VIR_FREE(names[i]);
+ VIR_FREE(names);
}
return VIR_PY_NONE;
}
if (names) {
for (i = 0;i < c_retval;i++) {
PyList_SetItem(py_retval, i, libvirt_constcharPtrWrap(names[i]));
- free(names[i]);
+ VIR_FREE(names[i]);
}
- free(names);
+ VIR_FREE(names);
}
return(py_retval);
return VIR_PY_NONE;
if (c_retval) {
- names = malloc(sizeof(*names) * c_retval);
- if (!names)
+ if (VIR_ALLOC_N(names, c_retval) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
c_retval = virConnectListDefinedInterfaces(conn, names, c_retval);
LIBVIRT_END_ALLOW_THREADS;
if (c_retval < 0) {
- free(names);
+ VIR_FREE(names);
return VIR_PY_NONE;
}
}
if (py_retval == NULL) {
if (names) {
for (i = 0;i < c_retval;i++)
- free(names[i]);
- free(names);
+ VIR_FREE(names[i]);
+ VIR_FREE(names);
}
return VIR_PY_NONE;
}
if (names) {
for (i = 0;i < c_retval;i++) {
PyList_SetItem(py_retval, i, libvirt_constcharPtrWrap(names[i]));
- free(names[i]);
+ VIR_FREE(names[i]);
}
- free(names);
+ VIR_FREE(names);
}
return(py_retval);
int i;
ncpus = PyList_Size(list);
- if ((xmlcpus = malloc(ncpus * sizeof(*xmlcpus))) == NULL)
+ if (VIR_ALLOC_N(xmlcpus, ncpus) < 0)
return VIR_PY_INT_FAIL;
for (i = 0; i < ncpus; i++) {
xmlcpus[i] = PyString_AsString(PyList_GetItem(list, i));
if (xmlcpus[i] == NULL) {
- free(xmlcpus);
+ VIR_FREE(xmlcpus);
return VIR_PY_INT_FAIL;
}
}
base_cpu = virConnectBaselineCPU(conn, xmlcpus, ncpus, flags);
LIBVIRT_END_ALLOW_THREADS;
- free(xmlcpus);
+ VIR_FREE(xmlcpus);
if (base_cpu == NULL)
return VIR_PY_INT_FAIL;
pybase_cpu = PyString_FromString(base_cpu);
- free(base_cpu);
+ VIR_FREE(base_cpu);
if (pybase_cpu == NULL)
return VIR_PY_INT_FAIL;
if (c_ret < 0)
return VIR_PY_INT_FAIL;
- if ((params = malloc(sizeof(*params)*nparams)) == NULL)
+ if (VIR_ALLOC_N(params, nparams) < 0)
return VIR_PY_INT_FAIL;
LIBVIRT_BEGIN_ALLOW_THREADS;
LIBVIRT_END_ALLOW_THREADS;
if (c_ret < 0) {
- free(params);
+ VIR_FREE(params);
return VIR_PY_INT_FAIL;
}
break;
default:
- free(params);
+ VIR_FREE(params);
return VIR_PY_INT_FAIL;
}
}
LIBVIRT_END_ALLOW_THREADS;
if (c_ret < 0) {
- free(params);
+ VIR_FREE(params);
return VIR_PY_INT_FAIL;
}
- free(params);
+ VIR_FREE(params);
return VIR_PY_INT_SUCCESS;
}
if (c_ret < 0)
return VIR_PY_NONE;
- if ((params = malloc(sizeof(*params)*nparams)) == NULL)
+ if (VIR_ALLOC_N(params, nparams) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
LIBVIRT_END_ALLOW_THREADS;
if (c_ret < 0) {
- free(params);
+ VIR_FREE(params);
return VIR_PY_NONE;
}
/* convert to a Python tuple of long objects */
if ((pyreply = PyDict_New()) == NULL) {
- free(params);
+ VIR_FREE(params);
return VIR_PY_NONE;
}
for (i = 0 ; i < nparams ; i++) {
break;
default:
- free(params);
+ VIR_FREE(params);
Py_DECREF(pyreply);
return VIR_PY_NONE;
}
key = libvirt_constcharPtrWrap(params[i].field);
PyDict_SetItem(pyreply, key, val);
}
- free(params);
+ VIR_FREE(params);
return(pyreply);
}
ndisks = count;
if (ndisks) {
- if (!(disks = malloc(sizeof(*disks) * ndisks)))
+ if (VIR_ALLOC_N(disks, ndisks) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
cleanup:
if (disks) {
for (i = 0; i < count; i++)
- free(disks[i].disk);
- free(disks);
+ VIR_FREE(disks[i].disk);
+ VIR_FREE(disks);
}
return py_retval;
}
}
stream = PyvirStream_Get(pyobj_stream);
- if ((buf = malloc(nbytes+1 > 0 ? nbytes+1 : 1)) == NULL)
+ if (VIR_ALLOC_N(buf, nbytes+1 > 0 ? nbytes+1 : 1) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
- if ((buf = malloc(size)) == NULL)
+ if (VIR_ALLOC_N(buf, size) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
py_retval = PyString_FromStringAndSize(buf, size);
cleanup:
- free(buf);
+ VIR_FREE(buf);
return py_retval;
}
domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
- if ((buf = malloc(size)) == NULL)
+ if (VIR_ALLOC_N(buf, size) < 0)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
py_retval = PyString_FromStringAndSize(buf, size);
cleanup:
- free(buf);
+ VIR_FREE(buf);
return py_retval;
}