From 2e30b5ff28cdab464a254f7444f3cda57bc84e87 Mon Sep 17 00:00:00 2001 From: Camille Mougey Date: Mon, 23 Feb 2015 14:13:12 +0100 Subject: VmMngrPy: resource leak (`mpn`, `mpn->ad_hp`) if "known page in memory" --- miasm2/jitter/vm_mngr_py.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'miasm2/jitter/vm_mngr_py.c') diff --git a/miasm2/jitter/vm_mngr_py.c b/miasm2/jitter/vm_mngr_py.c index 474c974e..d9257b1d 100644 --- a/miasm2/jitter/vm_mngr_py.c +++ b/miasm2/jitter/vm_mngr_py.c @@ -157,8 +157,11 @@ PyObject* vm_add_memory_page(VmMngr* self, PyObject* args) mpn = create_memory_page_node(page_addr, buf_size, page_access); if (mpn == NULL) RAISE(PyExc_TypeError,"cannot create page"); - if (is_mpn_in_tab(&self->vm_mngr, mpn)) + if (is_mpn_in_tab(&self->vm_mngr, mpn)) { + free(mpn->ad_hp); + free(mpn); RAISE(PyExc_TypeError,"known page in memory"); + } memcpy(mpn->ad_hp, buf_data, buf_size); add_memory_page(&self->vm_mngr, mpn); -- cgit 1.4.1