]> Devi Nivas Git - cs3210-lab0.git/commitdiff
add alignment check of virtual address to exec()
authorMikeCAT <mikecat@users.noreply.github.com>
Sat, 19 Dec 2015 14:43:56 +0000 (23:43 +0900)
committerFrans Kaashoek <kaashoek@mit.edu>
Thu, 25 Aug 2016 11:09:10 +0000 (07:09 -0400)
exec.c

diff --git a/exec.c b/exec.c
index 8dbbdb66b1b86d1c09c57ced2264b3bd8935a5d7..e5d1816982499ade7be1cf796afeb24b82c5bc01 100644 (file)
--- 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;
   }