diff options
| author | serpilliere <serpilliere@users.noreply.github.com> | 2015-02-23 20:07:47 +0100 |
|---|---|---|
| committer | serpilliere <serpilliere@users.noreply.github.com> | 2015-02-23 20:07:47 +0100 |
| commit | cc21187b2844413822ab0179af8d6464e12cf8d5 (patch) | |
| tree | a537e409cdd104472c093bdd3f6643e216185608 /miasm2/jitter/vm_mngr_py.c | |
| parent | 4713279e25625b33b8867c35d7da686781b8b9a7 (diff) | |
| parent | bc255d549675d51bd2cf75088feef072a93e2d88 (diff) | |
| download | miasm-cc21187b2844413822ab0179af8d6464e12cf8d5.tar.gz miasm-cc21187b2844413822ab0179af8d6464e12cf8d5.zip | |
Merge pull request #84 from commial/bug-resource-leak
Resource leak in VmMngr implementation
Diffstat (limited to 'miasm2/jitter/vm_mngr_py.c')
| -rw-r--r-- | miasm2/jitter/vm_mngr_py.c | 5 |
1 files changed, 4 insertions, 1 deletions
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); |