shithub: riscv

Download patch

ref: 70223416cdf046fe4b84c775bb7146c0af5d7581
parent: f51aa49bb0d93e23cd290c8f6335ff0fa6e9ea73
author: cinap_lenrek <cinap_lenrek@rei2.9hal>
date: Sat Feb 11 08:25:23 EST 2012

cfs: fix bad memory deref in rstat (from yk's patch/cfs-rstatctlbug)

--- a/sys/src/cmd/cfs/cfs.c
+++ b/sys/src/cmd/cfs/cfs.c
@@ -646,6 +646,7 @@
 void
 rstat(Mfile *mf)
 {
+	uchar buf[STATMAX];
 	Dir d;
 
 	if(statson && ctltest(mf)){
@@ -659,8 +660,8 @@
 		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;
 	}
--