From: MikeCAT Date: Sat, 19 Dec 2015 14:43:56 +0000 (+0900) Subject: add alignment check of virtual address to exec() X-Git-Url: https://git.devinivas.org/?a=commitdiff_plain;h=67a7f9597e187dad3dfd9732461fec2de6edbba1;p=cs3210-lab1.git add alignment check of virtual address to exec() --- 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; }