From c6c6bfcf2c6aae86d34c29cee3e73031305a72da Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Fri, 2 Apr 2021 13:36:03 +0200 Subject: Minor change to elfloader --- src/elfs/elfloader.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/elfs/elfloader.c b/src/elfs/elfloader.c index a291d21f..cf21f8eb 100755 --- a/src/elfs/elfloader.c +++ b/src/elfs/elfloader.c @@ -580,7 +580,8 @@ int RelocateElfRELA(lib_t *maplib, lib_t *local_maplib, elfheader_t* head, int c if(offs) { // add r_addend to p? printf_log(LOG_DUMP, "Apply R_X86_64_COPY @%p with sym=%s, @%p size=%ld\n", p, symname, (void*)offs, sym->st_size); - memmove(p, (void*)(offs+rela[i].r_addend), sym->st_size); + if(p!=(void*)(offs+rela[i].r_addend)) + memmove(p, (void*)(offs+rela[i].r_addend), sym->st_size); } else { printf_log(LOG_NONE, "Error: Symbol %s not found, cannot apply RELA R_X86_64_COPY @%p (%p) in %s\n", symname, p, *(void**)p, head->name); } -- cgit 1.4.1