aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/remote.c37
1 files changed, 20 insertions, 17 deletions
diff --git a/gdb/remote.c b/gdb/remote.c
index f1d4a69..1c5b1b1 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -1056,9 +1056,9 @@ set_thread (int th, int gen)
buf[3] = '\0';
}
else if (th < 0)
- sprintf (&buf[2], "-%x", -th);
+ xsnprintf (&buf[2], rs->remote_packet_size - 2, "-%x", -th);
else
- sprintf (&buf[2], "%x", th);
+ xsnprintf (&buf[2], rs->remote_packet_size - 2, "%x", th);
putpkt (buf);
getpkt (buf, (rs->remote_packet_size), 0);
if (gen)
@@ -1076,9 +1076,9 @@ remote_thread_alive (ptid_t ptid)
char buf[16];
if (tid < 0)
- sprintf (buf, "T-%08x", -tid);
+ xsnprintf (buf, sizeof (buf), "T-%08x", -tid);
else
- sprintf (buf, "T%08x", tid);
+ xsnprintf (buf, sizeof (buf), "T%08x", tid);
putpkt (buf);
getpkt (buf, sizeof (buf), 0);
return (buf[0] == 'O' && buf[1] == 'K');
@@ -1869,7 +1869,8 @@ remote_threads_extra_info (struct thread_info *tp)
if (use_threadextra_query)
{
- sprintf (bufp, "qThreadExtraInfo,%x", PIDGET (tp->ptid));
+ xsnprintf (bufp, rs->remote_packet_size, "qThreadExtraInfo,%x",
+ PIDGET (tp->ptid));
putpkt (bufp);
getpkt (bufp, (rs->remote_packet_size), 0);
if (bufp[0] != 0)
@@ -1890,12 +1891,14 @@ remote_threads_extra_info (struct thread_info *tp)
if (threadinfo.active)
{
if (*threadinfo.shortname)
- n += sprintf(&display_buf[0], " Name: %s,", threadinfo.shortname);
+ n += xsnprintf (&display_buf[0], sizeof (display_buf) - n,
+ " Name: %s,", threadinfo.shortname);
if (*threadinfo.display)
- n += sprintf(&display_buf[n], " State: %s,", threadinfo.display);
+ n += xsnprintf (&display_buf[n], sizeof (display_buf) - n,
+ " State: %s,", threadinfo.display);
if (*threadinfo.more_display)
- n += sprintf(&display_buf[n], " Priority: %s",
- threadinfo.more_display);
+ n += xsnprintf (&display_buf[n], sizeof (display_buf) - n,
+ " Priority: %s", threadinfo.more_display);
if (n > 0)
{
@@ -1920,8 +1923,7 @@ extended_remote_restart (void)
/* Send the restart command; for reasons I don't understand the
remote side really expects a number after the "R". */
- buf[0] = 'R';
- sprintf (&buf[1], "%x", 0);
+ xsnprintf (&buf, rs->remote_packet_size, "R%x", 0);
putpkt (buf);
/* Now query for status so this looks just like we restarted
@@ -2138,11 +2140,11 @@ remote_check_symbols (struct objfile *objfile)
msg[end] = '\0';
sym = lookup_minimal_symbol (msg, NULL, NULL);
if (sym == NULL)
- sprintf (msg, "qSymbol::%s", &reply[8]);
+ xsnprintf (msg, rs->remote_packet_size, "qSymbol::%s", &reply[8]);
else
- sprintf (msg, "qSymbol:%s:%s",
- paddr_nz (SYMBOL_VALUE_ADDRESS (sym)),
- &reply[8]);
+ xsnprintf (msg, rs->remote_packet_size, "qSymbol:%s:%s",
+ paddr_nz (SYMBOL_VALUE_ADDRESS (sym)),
+ &reply[8]);
putpkt (msg);
getpkt (reply, (rs->remote_packet_size), 0);
}
@@ -3435,7 +3437,7 @@ store_register_using_P (int regnum)
char regp[MAX_REGISTER_SIZE];
char *p;
- sprintf (buf, "P%s=", phex_nz (reg->pnum, 0));
+ xsnprintf (buf, rs->remote_packet_size, "P%s=", phex_nz (reg->pnum, 0));
p = buf + strlen (buf);
regcache_raw_collect (current_regcache, reg->regnum, regp);
bin2hex (regp, p, register_size (current_gdbarch, reg->regnum));
@@ -4908,7 +4910,8 @@ compare_sections_command (char *args, int from_tty)
matched = 1; /* do this section */
lma = s->lma;
/* FIXME: assumes lma can fit into long. */
- sprintf (buf, "qCRC:%lx,%lx", (long) lma, (long) size);
+ xsnprintf (buf, rs->remote_packet_size, "qCRC:%lx,%lx",
+ (long) lma, (long) size);
putpkt (buf);
/* Be clever; compute the host_crc before waiting for target