diff -Nru /n/sources/plan9/sys/src/libmach/5db.c /sys/src/libmach/5db.c --- /n/sources/plan9/sys/src/libmach/5db.c Wed Aug 14 21:54:02 2013 +++ /sys/src/libmach/5db.c Sun Nov 6 00:00:00 2016 @@ -636,7 +636,7 @@ ulong v; ulong s = (i->w & BITS(7,11)) >> 7; - sprint(buf, "R%ld", i->w & 0xf); + snprint(buf, sizeof buf, "R%ld", i->w & 0xf); v = rget(map, buf); switch((i->w & BITS(4, 6)) >> 4) { @@ -644,14 +644,14 @@ case 0: /* LSLIMM */ return v << s; case 1: /* LSLREG */ - sprint(buf, "R%lud", s >> 1); + snprint(buf, sizeof buf, "R%lud", s >> 1); s = rget(map, buf) & 0xFF; if(s >= 32) return 0; return v << s; case 2: /* LSRIMM */ return LSR(v, s); case 3: /* LSRREG */ - sprint(buf, "R%ld", s >> 1); + snprint(buf, sizeof buf, "R%ld", s >> 1); s = rget(map, buf) & 0xFF; if(s >= 32) return 0; return LSR(v, s); @@ -663,7 +663,7 @@ } return ASR(v, s); case 5: /* ASRREG */ - sprint(buf, "R%ld", s >> 1); + snprint(buf, sizeof buf, "R%ld", s >> 1); s = rget(map, buf) & 0xFF; if(s >= 32) { if((v & (1U<<31)) == 0) @@ -679,7 +679,7 @@ } return ROR(v, s); case 7: /* RORREG */ - sprint(buf, "R%ld", (s>>1)&0xF); + snprint(buf, sizeof buf, "R%ld", (s>>1)&0xF); s = rget(map, buf); if(s == 0 || (s & 0xF) == 0) return v; @@ -711,7 +711,7 @@ ulong rn; rn = (i->w >> 16) & 0xf; - sprint(buf,"R%ld", rn); + snprint(buf, sizeof buf, "R%ld", rn); v = rget(map, buf); nb = nbits(i->w & ((1 << 15) - 1)); @@ -746,7 +746,7 @@ uchar c; uchar rm; - sprint(buf, "R%ld", i->w & 0xf); + snprint(buf, sizeof buf, "R%ld", i->w & 0xf); rm = rget(map, buf); switch((i->w & BITS(5,6)) >> 5) { @@ -779,7 +779,7 @@ return pc+4; r = (i->w >> 16) & 0xf; - sprint(buf, "R%d", r); + snprint(buf, sizeof buf, "R%d", r); return rget(map, buf) + armshiftval(map, rget, i); } @@ -793,7 +793,7 @@ if(!armcondpass(map, rget, (i->w>>28)&0xf)) return pc+4; r = (i->w >> 0) & 0xf; - sprint(buf, "R%d", r); + snprint(buf, sizeof buf, "R%d", r); return rget(map, buf); } diff -Nru /n/sources/plan9/sys/src/libmach/kdb.c /sys/src/libmach/kdb.c --- /n/sources/plan9/sys/src/libmach/kdb.c Tue Jan 3 21:03:16 2006 +++ /sys/src/libmach/kdb.c Sun Nov 6 00:00:00 2016 @@ -56,9 +56,9 @@ if(tbr < sizeof trapname/sizeof(char*)) return trapname[tbr]; if(tbr >= 130) - sprint(buf, "trap instruction %ld", tbr-128); + snprint(buf, sizeof buf, "trap instruction %ld", tbr-128); else if(17<=tbr && tbr<=31) - sprint(buf, "interrupt level %ld", tbr-16); + snprint(buf, sizeof buf, "interrupt level %ld", tbr-16); else switch(tbr){ case 36: return "cp disabled"; @@ -69,7 +69,7 @@ case 129: return "breakpoint"; default: - sprint(buf, "unknown trap %ld", tbr); + snprint(buf, sizeof buf, "unknown trap %ld", tbr); } return buf; } @@ -678,7 +678,7 @@ s = ""; if((op3&11)==1 || (op3&11)==2) s="U"; - sprint(buf, "MOV%c%s", c, s); + snprint(buf, sizeof buf, "MOV%c%s", c, s); return buf; } return m; @@ -1035,12 +1035,12 @@ } if((w&0xC1F80000) == 0x81C00000){ /* JMPL */ - sprint(buf, "R%ld", (w>>14)&0xF); + snprint(buf, sizeof buf, "R%ld", (w>>14)&0xF); r1 = (*rget)(map, buf); if(w & 0x2000) /* JMPL R1+simm13 */ r2 = i.simm13; else{ /* JMPL R1+R2 */ - sprint(buf, "R%ld", w&0xF); + snprint(buf, sizeof buf, "R%ld", w&0xF); r2 = (*rget)(map, buf); } foll[0] = r1 + r2; diff -Nru /n/sources/plan9/sys/src/libmach/map.c /sys/src/libmach/map.c --- /n/sources/plan9/sys/src/libmach/map.c Fri Mar 1 23:23:59 2013 +++ /sys/src/libmach/map.c Sun Nov 6 00:00:00 2016 @@ -93,7 +93,7 @@ else regs = "regs"; if (mach->regsize) { - sprint(buf, "/proc/%d/%s", pid, regs); + snprint(buf, sizeof buf, "/proc/%d/%s", pid, regs); fd = open(buf, ORDWR); if(fd < 0) fd = open(buf, OREAD); @@ -104,7 +104,7 @@ setmap(map, fd, 0, mach->regsize, 0, "regs"); } if (mach->fpregsize) { - sprint(buf, "/proc/%d/fpregs", pid); + snprint(buf, sizeof buf, "/proc/%d/fpregs", pid); fd = open(buf, ORDWR); if(fd < 0) fd = open(buf, OREAD); diff -Nru /n/sources/plan9/sys/src/libmach/qdb.c /sys/src/libmach/qdb.c --- /n/sources/plan9/sys/src/libmach/qdb.c Thu Jul 2 21:18:18 2009 +++ /sys/src/libmach/qdb.c Sun Nov 6 00:00:00 2016 @@ -84,7 +84,7 @@ c = (*rget)(map, "CAUSE") >> 8; if(c < nelem(excname)) return excname[c]; - sprint(buf, "unknown trap #%lx", c); + snprint(buf, sizeof buf, "unknown trap #%lx", c); return buf; } @@ -357,7 +357,7 @@ if(bo==4 || bo==12 || bo==20) { /* simple forms */ if(bo != 20) { bi = i->bi&3; - sprint(buf, "B%s%%L", bo==12? tcrbits[bi]: fcrbits[bi]); + snprint(buf, sizeof buf, "B%s%%L", bo==12? tcrbits[bi]: fcrbits[bi]); format(buf, i, nil); bprint(i, "\t"); if(i->bi > 4) diff -Nru /n/sources/plan9/sys/src/libmach/sym.c /sys/src/libmach/sym.c --- /n/sources/plan9/sys/src/libmach/sym.c Mon Dec 2 22:46:53 2013 +++ /sys/src/libmach/sym.c Sun Nov 6 00:00:00 2016 @@ -1084,7 +1084,7 @@ else { k = fileelem(fnames, (uchar*)start->name, str, n); if(k+8 < n) - sprint(str+k, ":%ld", line); + snprint(str+k, n-k, ":%ld", line); } /**********Remove comments for complete back-trace of include sequence * if(start != base) { @@ -1095,7 +1095,7 @@ * } * k += fileelem(fnames, (uchar*) base->name, str+k, n-k); * if(k+10 < n) - * sprint(str+k, ":%ld}", start->line-delta); + * snprint(str+k, n-k, ":%ld}", start->line-delta); * } ********************/ return 0; diff -Nru /n/sources/plan9/sys/src/libmach/vcodas.c /sys/src/libmach/vcodas.c --- /n/sources/plan9/sys/src/libmach/vcodas.c Wed Apr 24 22:57:32 2013 +++ /sys/src/libmach/vcodas.c Sun Nov 6 00:00:00 2016 @@ -412,19 +412,19 @@ switch (i->rs) { case 0: - sprint(buf, "mfc%d", cop); + snprint(buf, sizeof buf, "mfc%d", cop); break; case 2: - sprint(buf, "cfc%d", cop); + snprint(buf, sizeof buf, "cfc%d", cop); break; case 4: - sprint(buf, "mtc%d", cop); + snprint(buf, sizeof buf, "mtc%d", cop); break; case 6: - sprint(buf, "ctc%d", cop); + snprint(buf, sizeof buf, "ctc%d", cop); break; case 8: @@ -432,30 +432,30 @@ switch (i->rt) { case 0: - sprint(buf, "bc%df", cop); + snprint(buf, sizeof buf, "bc%df", cop); break; case 1: - sprint(buf, "bc%dt", cop); + snprint(buf, sizeof buf, "bc%dt", cop); break; case 2: - sprint(buf, "bc%dfl", cop); + snprint(buf, sizeof buf, "bc%dfl", cop); break; case 3: - sprint(buf, "bc%dtl", cop); + snprint(buf, sizeof buf, "bc%dtl", cop); break; default: - sprint(buf, "cop%d", cop); + snprint(buf, sizeof buf, "cop%d", cop); f = mipscoxxx; break; } break; default: - sprint(buf, "cop%d", cop); + snprint(buf, sizeof buf, "cop%d", cop); if (i->rs & 0x10) f = "function %c"; else diff -Nru /n/sources/plan9/sys/src/libmach/vdb.c /sys/src/libmach/vdb.c --- /n/sources/plan9/sys/src/libmach/vdb.c Tue Jun 18 05:08:57 2013 +++ /sys/src/libmach/vdb.c Sun Nov 6 00:00:00 2016 @@ -875,19 +875,19 @@ switch (i->rs) { case 0: - sprint(buf, "mfc%d", cop); + snprint(buf, sizeof buf, "mfc%d", cop); break; case 2: - sprint(buf, "cfc%d", cop); + snprint(buf, sizeof buf, "cfc%d", cop); break; case 4: - sprint(buf, "mtc%d", cop); + snprint(buf, sizeof buf, "mtc%d", cop); break; case 6: - sprint(buf, "ctc%d", cop); + snprint(buf, sizeof buf, "ctc%d", cop); break; case 8: @@ -895,30 +895,30 @@ switch (i->rt) { case 0: - sprint(buf, "bc%df", cop); + snprint(buf, sizeof buf, "bc%df", cop); break; case 1: - sprint(buf, "bc%dt", cop); + snprint(buf, sizeof buf, "bc%dt", cop); break; case 2: - sprint(buf, "bc%dfl", cop); + snprint(buf, sizeof buf, "bc%dfl", cop); break; case 3: - sprint(buf, "bc%dtl", cop); + snprint(buf, sizeof buf, "bc%dtl", cop); break; default: - sprint(buf, "cop%d", cop); + snprint(buf, sizeof buf, "cop%d", cop); f = mipscoxxx; break; } break; default: - sprint(buf, "cop%d", cop); + snprint(buf, sizeof buf, "cop%d", cop); if (i->rs & 0x10) f = "function %c"; else @@ -1148,7 +1148,7 @@ switch(l){ case 0: /* SPECIAL */ if((w&0x3E) == 0x08){ /* JR, JALR */ - sprint(buf, "R%ld", (w>>21)&0x1F); + snprint(buf, sizeof buf, "R%ld", (w>>21)&0x1F); foll[0] = (*rget)(map, buf); return 1; }