From: MikeCAT Date: Sat, 19 Dec 2015 13:52:11 +0000 (+0900) Subject: fix memory region validation in argptr() X-Git-Url: https://git.devinivas.org/?a=commitdiff_plain;h=2a675089b129adf442de575617a7e3db5a42a794;p=cs3210-lab0.git fix memory region validation in argptr() --- diff --git a/syscall.c b/syscall.c index a84a921..9ae7536 100644 --- a/syscall.c +++ b/syscall.c @@ -58,7 +58,7 @@ argptr(int n, char **pp, int size) if(argint(n, &i) < 0) return -1; - if((uint)i >= proc->sz || (uint)i+size > proc->sz) + if(size < 0 || (uint)i >= proc->sz || (uint)i+size > proc->sz) return -1; *pp = (char*)i; return 0;