diff options
| -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) + | 
