From e1108c5e17566cb666f870e545d87dc31959d7c2 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Mon, 10 Apr 2023 11:10:43 +0200 Subject: [DYNAREC] Destroy DynaBlock memory when freeing a lib --- src/elfs/elfloader.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/elfs/elfloader.c b/src/elfs/elfloader.c index 88dff2e9..c2705250 100755 --- a/src/elfs/elfloader.c +++ b/src/elfs/elfloader.c @@ -305,8 +305,12 @@ int AllocElfMemory(box64context_t* context, elfheader_t* head, int mainbin) void FreeElfMemory(elfheader_t* head) { if(head->multiblock_n) { - for(int i=0; imultiblock_n; ++i) + for(int i=0; imultiblock_n; ++i) { +#ifdef DYNAREC + cleanDBFromAddressRange((uintptr_t)head->multiblock[i], head->multiblock_size[i], 1); +#endif munmap(head->multiblock[i], head->multiblock_size[i]); + } box_free(head->multiblock); box_free(head->multiblock_size); box_free(head->multiblock_offs); -- cgit 1.4.1