summaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2013-05-30 17:11:38 +0000
committerTom Tromey <tromey@redhat.com>2013-05-30 17:11:38 +0000
commita4e3ade070c28d8a59db0413c62720b2f89d4b7c (patch)
treef56e7becc11a521898457c9c8c3a7f745c1b8aef /gdb
parent95a415b69583178c93bac6b1660e5f2077962200 (diff)
downloadgdb-a4e3ade070c28d8a59db0413c62720b2f89d4b7c.tar.gz
fix varobj.c
c_value_of_root is missing a call to do_cleanups at one return. This fixes the problem by removing that return and letting control fall through. * varobj.c (c_value_of_root): Call do_cleanups along all return paths.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/varobj.c4
2 files changed, 6 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index e3445721f10..b8e5f991527 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2013-05-30 Tom Tromey <tromey@redhat.com>
+ * varobj.c (c_value_of_root): Call do_cleanups along all
+ return paths.
+
+2013-05-30 Tom Tromey <tromey@redhat.com>
+
* tracepoint.c (trace_dump_command): Unconditionally call
do_cleanups.
diff --git a/gdb/varobj.c b/gdb/varobj.c
index 70ed28fc03d..d4fa6ba0cc0 100644
--- a/gdb/varobj.c
+++ b/gdb/varobj.c
@@ -3474,13 +3474,11 @@ c_value_of_root (struct varobj **var_handle)
{
new_val = evaluate_expression (var->root->exp);
}
-
- return new_val;
}
do_cleanups (back_to);
- return NULL;
+ return new_val;
}
static struct value *