summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavel Hrdina <phrdina@redhat.com>2015-10-31 02:25:22 +0100
committerPavel Hrdina <phrdina@redhat.com>2015-10-31 02:25:22 +0100
commit13375783f09285aeb386bc4c306aa4df3816b2f0 (patch)
tree2049ebe38372fab1db41d7befe2db176360c60c5
parentd5b08f5c19faffca9c3499c5286199859518e361 (diff)
downloadlibvirt-python-13375783f09285aeb386bc4c306aa4df3816b2f0.tar.gz
fix crash introduced by commit 1d39dbafv1.2.21
Some of the libvirt_*Wrap functions steals the reference and we need to set the item in array to NULL no not free it on success. Those three places was accidentally removed by commit 1d39dbaf. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1270977 Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
-rw-r--r--libvirt-override.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/libvirt-override.c b/libvirt-override.c
index c6c1da8..5f1c98f 100644
--- a/libvirt-override.c
+++ b/libvirt-override.c
@@ -2448,6 +2448,7 @@ libvirt_virDomainListAllSnapshots(PyObject *self ATTRIBUTE_UNUSED,
for (i = 0; i < c_retval; i++) {
VIR_PY_LIST_SET_GOTO(py_retval, i,
libvirt_virDomainSnapshotPtrWrap(snaps[i]), error);
+ snaps[i] = NULL;
}
cleanup:
@@ -2544,9 +2545,11 @@ libvirt_virDomainSnapshotListAllChildren(PyObject *self ATTRIBUTE_UNUSED,
if (!(py_retval = PyList_New(c_retval)))
goto cleanup;
- for (i = 0; i < c_retval; i++)
+ for (i = 0; i < c_retval; i++) {
VIR_PY_LIST_SET_GOTO(py_retval, i,
libvirt_virDomainSnapshotPtrWrap(snaps[i]), error);
+ snaps[i] = NULL;
+ }
cleanup:
for (i = 0; i < c_retval; i++)
@@ -3117,9 +3120,11 @@ libvirt_virConnectListAllNetworks(PyObject *self ATTRIBUTE_UNUSED,
if (!(py_retval = PyList_New(c_retval)))
goto cleanup;
- for (i = 0; i < c_retval; i++)
+ for (i = 0; i < c_retval; i++) {
VIR_PY_LIST_SET_GOTO(py_retval, i,
libvirt_virNetworkPtrWrap(nets[i]), error);
+ nets[i] = NULL;
+ }
cleanup:
for (i = 0; i < c_retval; i++)