diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2023-05-03 13:51:40 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2023-05-03 13:51:40 +0200 |
| commit | 3a4d58f114a2f030f0937abae4c0ef7ec882641a (patch) | |
| tree | 8d730549f16083b71ffaf4f80660da628691402a /src/elfs/elfloader.c | |
| parent | 494f054ef4d94210c07ca046e049900f507b4ac5 (diff) | |
| download | box64-3a4d58f114a2f030f0937abae4c0ef7ec882641a.tar.gz box64-3a4d58f114a2f030f0937abae4c0ef7ec882641a.zip | |
Improved mallock_hack_2, trying to reduce potential memory leaks
Diffstat (limited to 'src/elfs/elfloader.c')
| -rwxr-xr-x | src/elfs/elfloader.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/elfs/elfloader.c b/src/elfs/elfloader.c index 37de9dc2..388372bf 100755 --- a/src/elfs/elfloader.c +++ b/src/elfs/elfloader.c @@ -890,7 +890,6 @@ int RelocateElfRELA(lib_t *maplib, lib_t *local_maplib, int bindnow, elfheader_t } return bindnow?ret_ok:0; } -void checkHookedSymbols(lib_t *maplib, elfheader_t* h); // in mallochook.c int RelocateElf(lib_t *maplib, lib_t *local_maplib, int bindnow, elfheader_t* head) { if((head->flags&DF_BIND_NOW) && !bindnow) { @@ -911,7 +910,6 @@ int RelocateElf(lib_t *maplib, lib_t *local_maplib, int bindnow, elfheader_t* he if(RelocateElfRELA(maplib, local_maplib, bindnow, head, cnt, (Elf64_Rela *)(head->rela + head->delta), NULL)) return -1; } - checkHookedSymbols(maplib, head); return 0; } @@ -1020,6 +1018,7 @@ uintptr_t GetLastByte(elfheader_t* h) return (uintptr_t)h->memory/* + h->delta*/ + h->memsz; } +void checkHookedSymbols(elfheader_t* h); // in mallochook.c void AddSymbols(lib_t *maplib, kh_mapsymbols_t* mapsymbols, kh_mapsymbols_t* weaksymbols, kh_mapsymbols_t* localsymbols, elfheader_t* h) { if(box64_dump && h->DynSym) DumpDynSym(h); @@ -1104,6 +1103,7 @@ void AddSymbols(lib_t *maplib, kh_mapsymbols_t* mapsymbols, kh_mapsymbols_t* wea } } } + checkHookedSymbols(h); } /* |