diff options
author | rsc <rsc> | 2009-05-31 02:11:27 +0000 |
---|---|---|
committer | rsc <rsc> | 2009-05-31 02:11:27 +0000 |
commit | 90bab90832d1f3863d8345bcc2a2e5f59c270af8 (patch) | |
tree | 06d3941b5f953dc6c798d0a745bc91ff3efb07ee | |
parent | f3685aa391431d5eafbc918e1d143dd731c64787 (diff) | |
download | xv6-labs-90bab90832d1f3863d8345bcc2a2e5f59c270af8.tar.gz xv6-labs-90bab90832d1f3863d8345bcc2a2e5f59c270af8.tar.bz2 xv6-labs-90bab90832d1f3863d8345bcc2a2e5f59c270af8.zip |
exec sanity check
-rw-r--r-- | exec.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -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; |