From: rsc Date: Sun, 31 May 2009 02:11:27 +0000 (+0000) Subject: exec sanity check X-Git-Url: https://git.devinivas.org/?a=commitdiff_plain;h=90bab90832d1f3863d8345bcc2a2e5f59c270af8;p=cs3210-lab1.git exec sanity check --- diff --git a/exec.c b/exec.c index 98c5d4c..1c653de 100644 --- a/exec.c +++ b/exec.c @@ -62,7 +62,7 @@ exec(char *path, char **argv) goto bad; if(ph.type != ELF_PROG_LOAD) continue; - if(ph.va + ph.memsz > sz) + if(ph.va + ph.memsz < ph.va || ph.va + ph.memsz > sz || ph.memsz < ph.filesz) goto bad; if(readi(ip, mem + ph.va, ph.offset, ph.filesz) != ph.filesz) goto bad;