Fix memory leak in libxenstore python bindings

Temporary tuple0 python object was not freed at the end of
xspy_set_permissions() in case no error occurred. To reduce code
duplication, this path reuses the cleanup code.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
This commit is contained in:
Keir Fraser committed 2009-10-01 12:26:15 +01:00
1 parent bf8898e676
commit ca518e1e80
1 file changed
+3 -3
+3 -3
View File
@@ -324,6 +324,7 @@ static PyObject *xspy_set_permissions(XsHandle *self, PyObject *args)
xs_transaction_t th;
char *thstr;
PyObject *ret = NULL;
if (!xh)
goto exit;
@@ -380,14 +381,13 @@ static PyObject *xspy_set_permissions(XsHandle *self, PyObject *args)
goto exit;
}
free(xsperms);
Py_INCREF(Py_None);
return Py_None;
ret = Py_None;
exit:
Py_XDECREF(tuple0);
free(xsperms);
return NULL;
return ret;
}
#define xspy_watch_doc "\n" \
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.