diff options
author | cinap_lenrek <cinap_lenrek@rei2.9hal> | 2012-02-11 13:25:23 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@rei2.9hal> | 2012-02-11 13:25:23 +0100 |
commit | 70223416cdf046fe4b84c775bb7146c0af5d7581 (patch) | |
tree | 9d40ada4b5baed9847eacf95fbeed639ad574693 | |
parent | f51aa49bb0d93e23cd290c8f6335ff0fa6e9ea73 (diff) |
cfs: fix bad memory deref in rstat (from yk's patch/cfs-rstatctlbug)
-rw-r--r-- | sys/src/cmd/cfs/cfs.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/src/cmd/cfs/cfs.c b/sys/src/cmd/cfs/cfs.c index 8bedeeb88..2fbf3f421 100644 --- a/sys/src/cmd/cfs/cfs.c +++ b/sys/src/cmd/cfs/cfs.c @@ -646,6 +646,7 @@ rwrite(Mfile *mf) void rstat(Mfile *mf) { + uchar buf[STATMAX]; Dir d; if(statson && ctltest(mf)){ @@ -659,8 +660,8 @@ rstat(Mfile *mf) d.muid = "none"; d.atime = time(nil); d.mtime = d.atime; - c.rhdr.nstat = convD2M(&d, c.rhdr.stat, - sizeof c.rhdr - (c.rhdr.stat - (uchar*)&c.rhdr)); + c.rhdr.nstat = convD2M(&d, buf, sizeof buf); + c.rhdr.stat = buf; sendreply(0); return; } |