diff options
author | Fernando Nasser <fnasser@redhat.com> | 2000-09-16 00:49:37 +0000 |
---|---|---|
committer | Fernando Nasser <fnasser@redhat.com> | 2000-09-16 00:49:37 +0000 |
commit | 586e589c1894a834bacae360f1a8e9159a7c3291 (patch) | |
tree | d3351e7cc9cf93e817dbb270a7e0a6b6069364a4 /gdb/varobj.c | |
parent | 3943c96b075b8584c9d9417c319371394b928bd6 (diff) | |
download | gdb-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.c | 5 |
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. */ |