git: 9front

Download patch

ref: 5344f227608ea5b4debbe91417476205f88cd667
parent: 0ced9f82d61c1273c4eca71f19aba50a51275489
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;
 	}
--