2000-09-15 Fernando Nasser <fnasser@totem.to.cygnus.com>
authorFernando Nasser <fnasser@redhat.com>
Sat, 16 Sep 2000 00:49:37 +0000 (00:49 +0000)
committerFernando Nasser <fnasser@redhat.com>
Sat, 16 Sep 2000 00:49:37 +0000 (00:49 +0000)
* varobj.c (varobj_set_value): Call wrapped version of
parse_exp_1() to avoid longjumps.

gdb/ChangeLog
gdb/varobj.c

index 82bde3efb7bb75225fe8b03b8701725a88348d1f..48a46b9f932332932be8df4cd085573725faed23 100644 (file)
@@ -1,3 +1,14 @@
+2000-09-15  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+       * varobj.c (varobj_set_value): Call wrapped version of
+       parse_exp_1() to avoid longjumps.
+
+2000-09-15  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+       * remote.c (putpkt_binary): Call read_frame, not getpkt. Log message.
+       (read_frame): Do not call error() on communication error when
+       reading checksum, but return failure instead and log message.
+
 2000-09-15  Fernando Nasser  <fnasser@cygnus.com>
 
        * ser-unix.c (do_unix_readchar): Prevent infinite read wait to be
index 5cc6e88d1679ecdf89999cb25b6f4d9ea5ad9c91..9205e9d73ea04aeb306d405ed335fafd800516de 100644 (file)
@@ -781,8 +781,9 @@ varobj_set_value (struct varobj *var, char *expression)
       value_ptr temp;
 
       input_radix = 10;                /* ALWAYS reset to decimal temporarily */
-      /* FIXME: Callee may longjump */
-      exp = parse_exp_1 (&s, 0, 0);
+      if (!gdb_parse_exp_1 (&s, 0, 0, &exp))
+       /* We cannot proceed without a well-formed expression. */
+       return 0;
       if (!gdb_evaluate_expression (exp, &value))
        {
          /* We cannot proceed without a valid expression. */