diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/elfs/elfloader.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/elfs/elfloader.c b/src/elfs/elfloader.c index 58725968..cc5d4a6a 100644 --- a/src/elfs/elfloader.c +++ b/src/elfs/elfloader.c @@ -304,6 +304,8 @@ int AllocLoadElfMemory(box64context_t* context, elfheader_t* head, int mainbin) try_mmap = 0; printf_log(log_level, "Mapping failed, using regular mmap+read"); } else { + if(e->p_memsz>e->p_filesz) + memset((void*)((uintptr_t)p + e->p_filesz), 0, e->p_memsz-e->p_filesz); setProtection_elf((uintptr_t)p, head->multiblocks[n].asize, prot); head->multiblocks[n].p = p; |