diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ecef0e80ac..9e9724f149 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,7 @@ 2007-08-08 Michael Snyder + * varobj.c (value_of_root): Move alloc after return to avoid leak. + * tui/tui-layout.c (tui_set_layout): Dead code, dead variable. * top.c (command_line_input): Memory leak. diff --git a/gdb/varobj.c b/gdb/varobj.c index c19bd20c13..dbeaff491a 100644 --- a/gdb/varobj.c +++ b/gdb/varobj.c @@ -1710,13 +1710,14 @@ value_of_root (struct varobj **var_handle, int *type_changed) { struct varobj *tmp_var; char *old_type, *new_type; - old_type = varobj_get_type (var); + tmp_var = varobj_create (NULL, var->name, (CORE_ADDR) 0, USE_SELECTED_FRAME); if (tmp_var == NULL) { return NULL; } + old_type = varobj_get_type (var); new_type = varobj_get_type (tmp_var); if (strcmp (old_type, new_type) == 0) {