On Thu, Nov 07, 2013 at 03:44:23PM +0100, Giuseppe Scrivano wrote: > Signed-off-by: Giuseppe Scrivano <[email protected]> > --- > python/libvirt-override.c | 88 > +++++++++++++++++++++++++++++++++++++---------- > 1 file changed, 70 insertions(+), 18 deletions(-) > > diff --git a/python/libvirt-override.c b/python/libvirt-override.c > index 83bca94..3b902bc 100644 > --- a/python/libvirt-override.c > +++ b/python/libvirt-override.c [...] > @@ -2621,7 +2630,8 @@ libvirt_virDomainSnapshotListChildrenNames(PyObject > *self ATTRIBUTE_UNUSED, > return VIR_PY_NONE; > } > } > - py_retval = PyList_New(c_retval); > + if (!(py_retval = PyList_New(c_retval))) > + goto cleanup; >
This function should follow others and return VIR_PY_NONE, but cleanup
path returns py_retval.
> for (i = 0; i < c_retval; i++) {
> if ((pyobj_snap = libvirt_constcharPtrWrap(names[i])) == NULL) {
[...]
> @@ -3207,11 +3235,14 @@ libvirt_virNodeGetCellsFreeMemory(PyObject *self
> ATTRIBUTE_UNUSED, PyObject *arg
> VIR_FREE(freeMems);
> return VIR_PY_NONE;
> }
> - py_retval = PyList_New(c_retval);
> + if (!(py_retval = PyList_New(c_retval)))
> + goto cleanup;
> +
ditto
> for (i = 0; i < c_retval; i++) {
> PyList_SET_ITEM(py_retval, i,
> libvirt_longlongWrap((long long) freeMems[i]));
> }
> +cleanup:
> VIR_FREE(freeMems);
> return py_retval;
> }
ACK with those two places fixed (don't forget to free the names in a
loop in the first hunk).
Martin
signature.asc
Description: Digital signature
-- libvir-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/libvir-list
