ref: 03bf911f261106eaa486e0a729ff8147c61168dd
parent: 644e3d83e3befa1b5501e2033e49d225bce5e5d9
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Mon May 16 17:10:08 EDT 2016
correct check for segment overlap (rmiller)
--- a/sys/src/9/port/segment.c
+++ b/sys/src/9/port/segment.c
@@ -427,7 +427,7 @@
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 @@
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;
--
⑨