diff options
Diffstat (limited to 'ldso')
-rw-r--r-- | ldso/ldso/ldso.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c index 539975bcf..c18d96bdb 100644 --- a/ldso/ldso/ldso.c +++ b/ldso/ldso/ldso.c @@ -670,12 +670,13 @@ of this helper program; chances are you did not intend to run this program.\n\ * dynamic linking. We can set the protection back * again once we are done. */ - _dl_debug_early("calling mprotect on the application program\n"); /* Now cover the application program. */ if (app_tpnt->dynamic_info[DT_TEXTREL]) { + int j; ElfW(Phdr) *ppnt_outer = ppnt; + _dl_debug_early("calling mprotect on the application program\n"); ppnt = (ElfW(Phdr) *) auxvt[AT_PHDR].a_un.a_val; - for (i = 0; i < auxvt[AT_PHNUM].a_un.a_val; i++, ppnt++) { + for (j = 0; j < auxvt[AT_PHNUM].a_un.a_val; j++, ppnt++) { if (ppnt->p_type == PT_LOAD && !(ppnt->p_flags & PF_W)) _dl_mprotect((void *) (DL_RELOC_ADDR(app_tpnt->loadaddr, ppnt->p_vaddr) & PAGE_ALIGN), (DL_RELOC_ADDR(app_tpnt->loadaddr, ppnt->p_vaddr) & ADDR_ALIGN) + |