Fix range checking in safecopy.

This commit is contained in:
Cristiano Giuffrida 2010-06-04 18:05:38 +00:00
parent 8c69c6cd7f
commit a53514d4a9

View file

@ -147,8 +147,8 @@ endpoint_t *e_granter; /* new granter (magic grants) */
/* Don't fiddle around with grants that wrap, arithmetic
* below may be confused.
*/
if(MEM_TOP - g.cp_u.cp_direct.cp_len <
g.cp_u.cp_direct.cp_start - 1) {
if(MEM_TOP - g.cp_u.cp_direct.cp_len + 1 <
g.cp_u.cp_direct.cp_start) {
printf(
"verify_grant: direct grant verify failed: len too long\n");
return EPERM;