fix varobj.c
authorTom Tromey <tromey@redhat.com>
Thu, 30 May 2013 17:11:38 +0000 (17:11 +0000)
committerTom Tromey <tromey@redhat.com>
Thu, 30 May 2013 17:11:38 +0000 (17:11 +0000)
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.

gdb/ChangeLog
gdb/varobj.c

index e344572..b8e5f99 100644 (file)
@@ -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.
 
index 70ed28f..d4fa6ba 100644 (file)
@@ -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 *