aboutsummaryrefslogtreecommitdiff
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
commit4867f990df59cbde08a2e09471f1ca7c1404a14b (patch)
tree0e0ee55e97e0b522a25e4672898573759dd7409c
parent4fd2d6afa0ecd8b81a0ab00ef331cd0af2c944fc (diff)
downloadgdb-4867f990df59cbde08a2e09471f1ca7c1404a14b.zip
gdb-4867f990df59cbde08a2e09471f1ca7c1404a14b.tar.gz
gdb-4867f990df59cbde08a2e09471f1ca7c1404a14b.tar.bz2
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.
-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 e344572..b8e5f99 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 70ed28f..d4fa6ba 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 *