(mi_cmd_var_update): Fix memory leak.
authorNick Roberts <nickrob@snap.net.nz>
Fri, 8 Dec 2006 04:09:53 +0000 (04:09 +0000)
committerNick Roberts <nickrob@snap.net.nz>
Fri, 8 Dec 2006 04:09:53 +0000 (04:09 +0000)
gdb/mi/mi-cmd-var.c

index 0b131d91123d99e8ed7673fe3c7ecf80f87836ec..8bd8a6368a34771cd6e8f5c9ab1b19c60de2e3c6 100644 (file)
@@ -500,10 +500,11 @@ mi_cmd_var_update (char *command, char **argv, int argc)
   if ((*name == '*') && (*(name + 1) == '\0'))
     {
       nv = varobj_list (&rootlist);
+      cleanup = make_cleanup (xfree, rootlist);
       if (mi_version (uiout) <= 1)
-        cleanup = make_cleanup_ui_out_tuple_begin_end (uiout, "changelist");
+        make_cleanup_ui_out_tuple_begin_end (uiout, "changelist");
       else
-        cleanup = make_cleanup_ui_out_list_begin_end (uiout, "changelist");
+        make_cleanup_ui_out_list_begin_end (uiout, "changelist");
       if (nv <= 0)
        {
          do_cleanups (cleanup);
@@ -515,7 +516,6 @@ mi_cmd_var_update (char *command, char **argv, int argc)
          varobj_update_one (*cr, print_values);
          cr++;
        }
-      xfree (rootlist);
       do_cleanups (cleanup);
     }
   else