M pc/vgamga2164w.c => pc/vgamga2164w.c +2 -1
@@ 30,7 30,8 @@ mga2164wenable(VGAscr* scr)
if(scr->storage)
return;
- if((p = pcimatch(nil, 0x102B, 0x051B)) == nil)
+ p = pcimatch(nil, 0x102B, 0x051B);
+ if(p == nil)
return;
scr->storage = upamalloc(p->mem[1].bar & ~0x0F, p->mem[1].size, 0);
M port/auth.c => port/auth.c +4 -4
@@ 395,7 395,7 @@ authread(Chan *c, char *a, int n)
/*
* subsequent read returns an authenticator
*/
- if(n != AUTHENTLEN)
+ if(n < AUTHENTLEN)
error(Ebadarg);
cp = c->aux;
@@ 405,6 405,9 @@ authread(Chan *c, char *a, int n)
convA2M(&cp->a, cp->tbuf, cp->t.key);
memmove(a, cp->tbuf, AUTHENTLEN);
+ if(n >= AUTHENTLEN + TICKETLEN)
+ convT2M(&cp->t, a+AUTHENTLEN, nil);
+
freecrypt(cp);
c->aux = 0;
}
@@ 547,9 550,6 @@ authentread(Chan *c, char *a, int n)
if(n >= AUTHENTLEN)
memmove(a, cp->tbuf, AUTHENTLEN);
- if(n >= AUTHENTLEN + TICKETLEN)
- convT2M(&cp->t, a+AUTHENTLEN, nil);
-
return n;
}
M port/devcons.c => port/devcons.c +3 -0
@@ 608,6 608,9 @@ consread(Chan *c, void *buf, long n, vlong off)
case Qauth:
return authread(c, cbuf, n);
+ case Qauthcheck:
+ return authcheckread(c, cbuf, n);
+
case Qauthent:
return authentread(c, cbuf, n);