summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/plugin_undelete_partitions/_undelpart.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/plugins/plugin_undelete_partitions/_undelpart.c b/plugins/plugin_undelete_partitions/_undelpart.c
index 5323870..290eea4 100644
--- a/plugins/plugin_undelete_partitions/_undelpart.c
+++ b/plugins/plugin_undelete_partitions/_undelpart.c
@@ -370,6 +370,7 @@ undelpart_getDiskList(PyObject * self, PyObject * args){
goto handle_error;
}
+ ped_device_free_all();
return dict;
handle_error:
@@ -378,6 +379,7 @@ undelpart_getDiskList(PyObject * self, PyObject * args){
Py_XDECREF(diskName);
Py_XDECREF(list);
Py_XDECREF(dict);
+ ped_device_free_all();
return NULL;
}
@@ -460,6 +462,7 @@ undelpart_getRescuable(PyObject * self, PyObject * args){
part = ped_disk_next_partition(disk, part);
}
ped_disk_destroy(disk);
+ ped_device_free_all();
return partitions;
@@ -472,6 +475,7 @@ undelpart_getRescuable(PyObject * self, PyObject * args){
Py_XDECREF(partitions);
Py_XDECREF(tempList);
+ ped_device_free_all();
return NULL;
}
@@ -526,6 +530,7 @@ undelpart_getPartitionList(PyObject * self, PyObject * args){
goto handle_error;
}
}
+ ped_device_free_all();
return partList;
@@ -535,6 +540,8 @@ undelpart_getPartitionList(PyObject * self, PyObject * args){
Py_XDECREF(partList);
Py_XDECREF(tempList);
+ ped_device_free_all();
+
return NULL;
}
@@ -616,6 +623,7 @@ undelpart_rescue(PyObject * self, PyObject * args){
}
ped_disk_destroy(disk);
free(_partList);
+ ped_device_free_all();
return rescuedParts;
@@ -623,6 +631,7 @@ undelpart_rescue(PyObject * self, PyObject * args){
assert(PyErr_Occurred());
free(_partList);
+ ped_device_free_all();
return NULL;
}