commit - ceb04770830a7610a5a9a21aa96a4ba4cece2a5d
commit + e95a70884b2eb361e0e879a91e5b46aea4e1d633
blob - 4105e8788bac632ac3fa72c1a974873af6ffa020
blob + db80c357b0029d4adbda65a17efd22dde3e229a7
--- src/lib9/dirread.c
+++ src/lib9/dirread.c
mygetdents(int fd, struct dirent *buf, int n)
{
off_t off;
+ int nn;
off = p9seek(fd, 0, 1);
nn = getdirentries(fd, (void*)buf, n, &off);
blob - c06e19d8829664cb5659b1c065fda55202123dec
blob + b34df3406ca2bac4e14f258e9c9086f92efedfa5
--- src/libfs/fs.c
+++ src/libfs/fs.c
qlock(&fs->lk);
if(fs->freefid == nil){
- f = malloc(sizeof(Fid)*Fidchunk);
+ f = mallocz(sizeof(Fid)*Fidchunk, 1);
if(f == nil){
qunlock(&fs->lk);
return nil;
blob - 7a21b444b194ce2543b8a9a4bd8dd72431969b2d
blob + b1fdeb039b6eb327e7220d6b9431179dc2b1d22c
--- src/libmux/mux.c
+++ src/libmux/mux.c
}
r2 = mux->wait[tag];
r2->p = p;
+ dequeue(mux, r2);
rwakeup(&r2->r);
}
mux->muxer = 0;
w = realloc(mux->wait, mw*sizeof(w[0]));
if(w == nil)
return -1;
+ memset(w+mux->mwait, 0, (mw-mux->mwait)*sizeof(w[0]));
mux->wait = w;
mux->freetag = mux->mwait;
mux->mwait = mw;