shithub: riscv

Download patch

ref: 4d4107b38547c7f9f135cc22d3a29fcbad4a8c34
parent: f32148b290be11d46d3c1e419285f46c7fbb308b
author: Alex Musolino <[email protected]>
date: Tue Nov 19 07:38:13 EST 2019

rio: fix bug causing short reads of wctl files

Previously, reads of wctl files would return one byte less than
requested as the returned string must be null terminated.  Now we pass
the actual size of the allocated buffer to the handler, which is large
enough to accommodate a trailing partial rune and terminating null
byte.

--- a/sys/src/cmd/rio/xfid.c
+++ b/sys/src/cmd/rio/xfid.c
@@ -670,9 +670,9 @@
 		}
 		c1 = crm.c1;
 		c2 = crm.c2;
-		t = emalloc(cnt+UTFmax+1);	/* room to unpack partial rune plus */
+		pair.ns = cnt+UTFmax+1;	/* room for partial rune and null byte */
+		t = emalloc(pair.ns);
 		pair.s = t;
-		pair.ns = cnt;
 		send(c1, &pair);
 		recv(c2, &pair);
 		fc.data = pair.s;