From: Mike Frysinger Date: Sat, 8 May 2021 01:53:25 +0000 (-0400) Subject: sim: m68hc11: fix up cycle buffer printing X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8a16cc4b934b2dee897837b7c68b9393cfd5ef5a;p=binutils-gdb.git sim: m68hc11: fix up cycle buffer printing Make sure the local static buffer is large enough, and simplify the sprintf for merging the fields all into one. This fixes compiler warnings from buf possibly being overflowed. --- diff --git a/sim/m68hc11/ChangeLog b/sim/m68hc11/ChangeLog index 1aaa51b29bb..e88f12e444d 100644 --- a/sim/m68hc11/ChangeLog +++ b/sim/m68hc11/ChangeLog @@ -1,3 +1,8 @@ +2021-05-07 Mike Frysinger + + * dv-m68hc11tim.c (cycle_to_string): Increase buf to 128 bytes. + Merge two sprintf buf calls. + 2021-05-06 Mike Frysinger * interp.c (sim_hw_configure): Change %lx to %x in format strings. diff --git a/sim/m68hc11/dv-m68hc11tim.c b/sim/m68hc11/dv-m68hc11tim.c index cd8274ffc34..d7bcac3feca 100644 --- a/sim/m68hc11/dv-m68hc11tim.c +++ b/sim/m68hc11/dv-m68hc11tim.c @@ -479,7 +479,8 @@ cycle_to_string (sim_cpu *cpu, signed64 t, int flags) { char time_buf[32]; char cycle_buf[32]; - static char buf[64]; + /* Big enough to handle 64-bit t, time_buf, and cycle_buf. */ + static char buf[128]; time_buf[0] = 0; cycle_buf[0] = 0; @@ -500,10 +501,7 @@ cycle_to_string (sim_cpu *cpu, signed64 t, int flags) sprintf (cycle_buf, " cycle%s", (t > 1 ? "s" : "")); - if (t < LONG_MAX) - sprintf (buf, "%9lu%s%s", (unsigned long) t, cycle_buf, time_buf); - else - sprintf (buf, "%" PRIi64 "%s%s", t, cycle_buf, time_buf); + sprintf (buf, "%9" PRIi64 "%s%s", t, cycle_buf, time_buf); return buf; }