From: Tom Tromey Date: Thu, 30 May 2013 17:11:38 +0000 (+0000) Subject: fix varobj.c X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4867f990df59cbde08a2e09471f1ca7c1404a14b;p=binutils-gdb.git 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. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index e3445721f10..b8e5f991527 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2013-05-30 Tom Tromey + + * varobj.c (c_value_of_root): Call do_cleanups along all + return paths. + 2013-05-30 Tom Tromey * tracepoint.c (trace_dump_command): Unconditionally call 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 *