M port/dev.c => port/dev.c +1 -1
@@ 146,7 146,7 @@ devstat(Chan *c, char *db, Dirtab *tab, int ntab, Devgen *gen)
elem = "/";
else
for(elem=p=c->name->s; *p; p++)
- if(*p = '/')
+ if(*p == '/')
elem = p+1;
devdir(c, c->qid, elem, i*DIRLEN, eve, CHDIR|0555, &dir);
convD2M(&dir, db);
M port/devproc.c => port/devproc.c +8 -0
@@ 255,6 255,14 @@ procwstat(Chan *c, char *db)
error(Eperm);
convM2D(db, &d);
+ if(strcmp(d.uid, p->user) != 0){
+ if(strcmp(up->user, eve) != 0)
+ error(Eperm);
+ else {
+ strncpy(p->user, d.uid, sizeof(p->user));
+ p->user[sizeof(p->user)-1] = 0;
+ }
+ }
p->procmode = d.mode&0777;
poperror();