commit e95a70884b2eb361e0e879a91e5b46aea4e1d633 from: rsc date: Tue Dec 09 06:37:26 2003 UTC Bug fixes from the Valgrind oracle. commit - ceb04770830a7610a5a9a21aa96a4ba4cece2a5d commit + e95a70884b2eb361e0e879a91e5b46aea4e1d633 blob - 4105e8788bac632ac3fa72c1a974873af6ffa020 blob + db80c357b0029d4adbda65a17efd22dde3e229a7 --- src/lib9/dirread.c +++ src/lib9/dirread.c @@ -11,6 +11,7 @@ static int 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 @@ -199,7 +199,7 @@ _fsgetfid(Fsys *fs) 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 @@ -81,6 +81,7 @@ muxrpc(Mux *mux, void *tx) } r2 = mux->wait[tag]; r2->p = p; + dequeue(mux, r2); rwakeup(&r2->r); } mux->muxer = 0; @@ -131,6 +132,7 @@ gettag(Mux *mux, Muxrpc *r) 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;