summaryrefslogtreecommitdiff
path: root/libvirt-override.c
diff options
context:
space:
mode:
Diffstat (limited to 'libvirt-override.c')
-rw-r--r--libvirt-override.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libvirt-override.c b/libvirt-override.c
index d1a55c5..0aaeb31 100644
--- a/libvirt-override.c
+++ b/libvirt-override.c
@@ -2012,7 +2012,7 @@ libvirt_virConnectOpenAuth(PyObject *self ATTRIBUTE_UNUSED,
PyObject *args)
{
PyObject *py_retval;
- virConnectPtr c_retval;
+ virConnectPtr c_retval = NULL;
char * name;
unsigned int flags;
PyObject *pyauth;
@@ -2036,7 +2036,8 @@ libvirt_virConnectOpenAuth(PyObject *self ATTRIBUTE_UNUSED,
for (i = 0; i < auth.ncredtype; i++) {
PyObject *val;
val = PyList_GetItem(pycredtype, i);
- auth.credtype[i] = (int)PyLong_AsLong(val);
+ if (libvirt_intUnwrap(val, &auth.credtype[i]) < 0)
+ goto cleanup;
}
}
if (pycredcb && pycredcb != Py_None)
@@ -2047,6 +2048,7 @@ libvirt_virConnectOpenAuth(PyObject *self ATTRIBUTE_UNUSED,
c_retval = virConnectOpenAuth(name, &auth, flags);
LIBVIRT_END_ALLOW_THREADS;
+ cleanup:
VIR_FREE(auth.credtype);
py_retval = libvirt_virConnectPtrWrap((virConnectPtr) c_retval);
return py_retval;