summaryrefslogtreecommitdiff
path: root/exec.c
diff options
context:
space:
mode:
authorMikeCAT <[email protected]>2015-12-19 23:43:56 +0900
committerFrans Kaashoek <[email protected]>2016-08-25 07:09:10 -0400
commit67a7f9597e187dad3dfd9732461fec2de6edbba1 (patch)
tree57027bc0645f08c6e7d8dcb789025f892dc9ab69 /exec.c
parenta7c03bd91490a10383b7241e41f79e57a09cf212 (diff)
downloadxv6-labs-67a7f9597e187dad3dfd9732461fec2de6edbba1.tar.gz
xv6-labs-67a7f9597e187dad3dfd9732461fec2de6edbba1.tar.bz2
xv6-labs-67a7f9597e187dad3dfd9732461fec2de6edbba1.zip
add alignment check of virtual address to exec()
Diffstat (limited to 'exec.c')
-rw-r--r--exec.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/exec.c b/exec.c
index 8dbbdb6..e5d1816 100644
--- a/exec.c
+++ b/exec.c
@@ -46,6 +46,8 @@ exec(char *path, char **argv)
goto bad;
if((sz = allocuvm(pgdir, sz, ph.vaddr + ph.memsz)) == 0)
goto bad;
+ if(ph.vaddr % PGSIZE != 0)
+ goto bad;
if(loaduvm(pgdir, (char*)ph.vaddr, ip, ph.off, ph.filesz) < 0)
goto bad;
}