[uClibc-cvs] uClibc/ldso/ldso dl-startup.c,1.11,1.12

Erik Andersen andersen at uclibc.org
Thu May 13 00:19:49 UTC 2004


Update of /var/cvs/uClibc/ldso/ldso
In directory nail:/tmp/cvs-serv2149/ldso

Modified Files:
	dl-startup.c 
Log Message:
Bradley D. LaRonde writes:

Oops, this adds the page alignment offset to the mprotected size.

Regards,
Brad



Index: dl-startup.c
===================================================================
RCS file: /var/cvs/uClibc/ldso/ldso/dl-startup.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- a/dl-startup.c	12 May 2004 23:11:30 -0000	1.11
+++ b/dl-startup.c	13 May 2004 00:19:47 -0000	1.12
@@ -383,7 +383,8 @@
 						 * it to us rx.
 						 */
 						Elf32_Addr mpa = (ppnt->p_vaddr + app_tpnt->loadaddr) & ~(_dl_pagesize - 1);
-						if(_dl_mprotect(mpa, ppnt->p_memsz, PROT_READ | PROT_WRITE | PROT_EXEC)) {
+						Elf32_Word mps = ((ppnt->p_vaddr + app_tpnt->loadaddr) - mpa) + ppnt->p_memsz;
+						if(_dl_mprotect(mpa, mps, PROT_READ | PROT_WRITE | PROT_EXEC)) {
 							SEND_STDERR("Couldn't mprotect .dynamic segment to rwx.\n");
 							_dl_exit(0);
 						}




More information about the uClibc-cvs mailing list