summaryrefslogtreecommitdiff
path: root/sys/src/9/port
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2016-05-16 21:10:08 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2016-05-16 21:10:08 +0200
commit29c7ca80c9df8f805217be9bb9a9a083ff12912d (patch)
treeba32aee6fe57982a4994f48cb90bb96830a8dc6a /sys/src/9/port
parentb15430979d712d27ea4cd40ca2ab031206081dfe (diff)
correct check for segment overlap (rmiller)
Diffstat (limited to 'sys/src/9/port')
-rw-r--r--sys/src/9/port/segment.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/src/9/port/segment.c b/sys/src/9/port/segment.c
index e7f2f42b0..f675ac1c5 100644
--- a/sys/src/9/port/segment.c
+++ b/sys/src/9/port/segment.c
@@ -427,7 +427,7 @@ ibrk(uintptr addr, int seg)
ns = up->seg[i];
if(ns == nil || ns == s)
continue;
- if(newtop >= ns->base && newtop < ns->top) {
+ if(newtop > ns->base && s->base < ns->top) {
qunlock(s);
error(Esoverlap);
}
@@ -544,8 +544,7 @@ isoverlap(uintptr va, uintptr len)
ns = up->seg[i];
if(ns == nil)
continue;
- if((newtop > ns->base && newtop <= ns->top) ||
- (va >= ns->base && va < ns->top))
+ if(newtop > ns->base && va < ns->top)
return ns;
}
return nil;