From c5ef555c1d176091b62e2d343f89ec05678164ab Mon Sep 17 00:00:00 2001 From: Daniel Jacobowitz Date: Thu, 1 Jun 2006 15:46:41 +0000 Subject: * gdb/remote.c (remote_hostio_parse_result): Check for strtol errors. --- ChangeLog.csl | 5 +++++ gdb/remote.c | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog.csl b/ChangeLog.csl index 1087f4c9d85..727868fa789 100644 --- a/ChangeLog.csl +++ b/ChangeLog.csl @@ -1,3 +1,8 @@ +2006-06-01 Daniel Jacobowitz + + * gdb/remote.c (remote_hostio_parse_result): Check for strtol + errors. + 2006-06-01 Daniel Jacobowitz * gdb/doc/gdb.texinfo (Host I/O Packets): Mention explicit negative diff --git a/gdb/remote.c b/gdb/remote.c index 15954c015da..65ada04215d 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -6116,15 +6116,17 @@ remote_hostio_parse_result (char *buffer, int *retcode, if (buffer[0] != 'F') return -1; + errno = 0; *retcode = strtol (&buffer[1], &p, 16); - if (p == &buffer[1]) + if (errno != 0 || p == &buffer[1]) return -1; /* Check for ",errno". */ if (*p == ',') { + errno = 0; *remote_errno = strtol (p + 1, &p2, 16); - if (p + 1 == p2) + if (errno != 0 || p + 1 == p2) return -1; p = p2; } -- cgit v1.2.1