aboutsummaryrefslogtreecommitdiff
path: root/gdb/remote.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/remote.c')
-rw-r--r--gdb/remote.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gdb/remote.c b/gdb/remote.c
index e44b932..1ed3680 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -2299,7 +2299,12 @@ remote_open_1 (char *name, int from_tty, struct target_ops *target,
{
if (serial_setbaudrate (remote_desc, baud_rate))
{
+ /* The requested speed could not be set. Error out to
+ top level after closing remote_desc. Take care to
+ set remote_desc to NULL to avoid closing remote_desc
+ more than once. */
serial_close (remote_desc);
+ remote_desc = NULL;
perror_with_name (name);
}
}
@@ -5566,7 +5571,12 @@ remote_cisco_open (char *name, int from_tty)
baud_rate = (baud_rate > 0) ? baud_rate : 9600;
if (serial_setbaudrate (remote_desc, baud_rate))
{
+ /* The requested speed could not be set. Error out to
+ top level after closing remote_desc. Take care to
+ set remote_desc to NULL to avoid closing remote_desc
+ more than once. */
serial_close (remote_desc);
+ remote_desc = NULL;
perror_with_name (name);
}