diff -Nru /n/sources/plan9/sys/src/libcontrol/control.c /sys/src/libcontrol/control.c --- /n/sources/plan9/sys/src/libcontrol/control.c Fri Jul 2 16:14:50 2004 +++ /sys/src/libcontrol/control.c Sun Nov 6 00:00:00 2016 @@ -343,9 +343,12 @@ char* _ctlstrrune(Rune *r) { + int nb; char *s; - s = ctlmalloc(runestrlen(r)*UTFmax+1); - sprint(s, "%S", r); + + nb = runestrlen(r)*UTFmax+1; + s = ctlmalloc(nb); + snprint(s, nb, "%S", r); return s; } diff -Nru /n/sources/plan9/sys/src/libcontrol/scribble.c /sys/src/libcontrol/scribble.c --- /n/sources/plan9/sys/src/libcontrol/scribble.c Sun Aug 8 16:34:48 2004 +++ /sys/src/libcontrol/scribble.c Sun Nov 6 00:00:00 2016 @@ -110,9 +110,9 @@ else if(r == ' ') strcpy(b->lastchar, "' '"); else if(r < ' ') - sprint(b->lastchar, "ctl-%c", r+'@'); + snprint(b->lastchar, sizeof b->lastchar, "ctl-%c", r+'@'); else - sprint(b->lastchar, "%C", r); + snprint(b->lastchar, sizeof b->lastchar, "%C", r); }