aboutsummaryrefslogtreecommitdiff
path: root/gdb/varobj.c
diff options
context:
space:
mode:
authorFernando Nasser <fnasser@redhat.com>2000-09-16 00:49:37 +0000
committerFernando Nasser <fnasser@redhat.com>2000-09-16 00:49:37 +0000
commit586e589c1894a834bacae360f1a8e9159a7c3291 (patch)
treed3351e7cc9cf93e817dbb270a7e0a6b6069364a4 /gdb/varobj.c
parent3943c96b075b8584c9d9417c319371394b928bd6 (diff)
downloadgdb-586e589c1894a834bacae360f1a8e9159a7c3291.zip
gdb-586e589c1894a834bacae360f1a8e9159a7c3291.tar.gz
gdb-586e589c1894a834bacae360f1a8e9159a7c3291.tar.bz2
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.
Diffstat (limited to 'gdb/varobj.c')
-rw-r--r--gdb/varobj.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gdb/varobj.c b/gdb/varobj.c
index 5cc6e88..9205e9d 100644
--- a/gdb/varobj.c
+++ b/gdb/varobj.c
@@ -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. */