about summary refs log tree commit diff stats
path: root/miasm2/jitter/vm_mngr_py.c
diff options
context:
space:
mode:
authorCamille Mougey <camille.mougey@cea.fr>2014-08-25 15:38:28 +0200
committerCamille Mougey <camille.mougey@cea.fr>2014-08-25 15:38:28 +0200
commit2650e46b8ffba46ffa0004681ca2d2d8c170be89 (patch)
tree9872cc96aaf4caef19d46e735bab150d7bc064dc /miasm2/jitter/vm_mngr_py.c
parent874d891deae98b48f5df36aa9fdfc4a29e9d2020 (diff)
downloadmiasm-2650e46b8ffba46ffa0004681ca2d2d8c170be89.tar.gz
miasm-2650e46b8ffba46ffa0004681ca2d2d8c170be89.zip
Jitter: Fix memory leaks
Diffstat (limited to 'miasm2/jitter/vm_mngr_py.c')
-rw-r--r--miasm2/jitter/vm_mngr_py.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/miasm2/jitter/vm_mngr_py.c b/miasm2/jitter/vm_mngr_py.c
index 18f2fd51..3730bb79 100644
--- a/miasm2/jitter/vm_mngr_py.c
+++ b/miasm2/jitter/vm_mngr_py.c
@@ -271,6 +271,7 @@ PyObject* vm_get_mem(VmMngr* self, PyObject* args)
 	while (my_size){
 		mpn = get_memory_page_from_address(&self->vm_mngr, buf_addr);
 		if (!mpn){
+			free(buf_out);
 			PyErr_SetString(PyExc_RuntimeError, "cannot find address");
 			return 0;
 		}
@@ -725,6 +726,9 @@ PyObject* add_jitbloc(VmMngr* self, PyObject* args)
 static void
 VmMngr_dealloc(VmMngr* self)
 {
+    vm_reset_memory_page_pool(self, NULL);
+    vm_reset_code_bloc_pool(self, NULL);
+    vm_reset_memory_breakpoint(self, NULL);
     self->ob_type->tp_free((PyObject*)self);
 }