--- /n/sources/plan9/sys/src/9/port/segment.c Thu Jul 22 20:47:18 2010 +++ /sys/src/9/port/segment.c Wed Feb 3 00:00:00 2016 @@ -484,7 +487,7 @@ ns = up->seg[i]; if(ns == 0 || ns == s) continue; - if(newtop >= ns->base && newtop < ns->top) { + if(newtop > ns->base && s->base < ns->top) { qunlock(&s->lk); error(Esoverlap); } @@ -586,8 +589,7 @@ ns = p->seg[i]; if(ns == 0) 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;