ref: eca7cac908bdfe4387a9f2563e683268939a586d
parent: 0b6f0c70dba53c08846299a85d3cddd91c070c53
parent: 2c9e3861a54e22498fb2e3226defe4393b20b202
author: Ori Bernstein <ori@eigenstate.org>
date: Tue Nov 19 07:31:42 EST 2019
merge
--- a/sys/src/cmd/rio/wind.c
+++ b/sys/src/cmd/rio/wind.c
@@ -406,7 +406,7 @@
t = "notcurrent";
if(w == input)
t = "current";
- pair.ns = snprint(pair.s, pair.ns, "%11d %11d %11d %11d %11s %11s ",
+ pair.ns = snprint(pair.s, pair.ns+1, "%11d %11d %11d %11d %11s %11s ",
w->i->r.min.x, w->i->r.min.y, w->i->r.max.x, w->i->r.max.y, t, s);
send(crm.c2, &pair);
continue;
--- a/sys/src/cmd/rio/xfid.c
+++ b/sys/src/cmd/rio/xfid.c
@@ -670,9 +670,9 @@
}
c1 = crm.c1;
c2 = crm.c2;
- pair.ns = cnt+UTFmax+1; /* room for partial rune and null byte */
- t = emalloc(pair.ns);
+ t = emalloc(cnt+UTFmax+1); /* room to unpack partial rune plus */
pair.s = t;
+ pair.ns = cnt;
send(c1, &pair);
recv(c2, &pair);
fc.data = pair.s;