summaryrefslogtreecommitdiff
path: root/gdb/remote.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/remote.c')
-rw-r--r--gdb/remote.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gdb/remote.c b/gdb/remote.c
index 1f7a763e568..a9dd2df974c 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -2841,6 +2841,7 @@ remote_wait (ptid_t ptid, struct target_waitstatus *status)
{
unsigned char *p1;
char *p_temp;
+ int fieldsize;
/* Read the register number */
regno = strtol ((const char *) p, &p_temp, 16);
@@ -2874,8 +2875,9 @@ Packet: '%s'\n",
Packet: '%s'\n",
regno, p, buf);
- if (hex2bin (p, regs, REGISTER_RAW_SIZE (regno))
- < REGISTER_RAW_SIZE (regno))
+ fieldsize = hex2bin (p, regs, REGISTER_RAW_SIZE (regno));
+ p += 2 * fieldsize;
+ if (fieldsize < REGISTER_RAW_SIZE (regno))
warning ("Remote reply is too short: %s", buf);
supply_register (regno, regs);
}