mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-02-12 12:40:36 +00:00
fix latent bugs in ui-out.c
The destructor code in ui-out.c has a latent bug, which is hidden by the fact that nothing uses this right now. This patch fixes the problem. The bug is that we don't always clear a pointer in the ui-out object, leading to a bad free. 2014-03-17 Tom Tromey <tromey@redhat.com> * ui-out.c (clear_table, ui_out_new): Clear uiout->table.id.
This commit is contained in:
parent
c712f1e3f7
commit
9c1fcd01cf
@ -1,3 +1,7 @@
|
||||
2014-03-17 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* ui-out.c (clear_table, ui_out_new): Clear uiout->table.id.
|
||||
|
||||
2014-03-17 Pierre-Marie de Rodat <derodat@adacore.com>
|
||||
|
||||
* ada-lang.c (decode_constrained_packed_array): Perform a
|
||||
|
@ -807,8 +807,8 @@ uo_table_header (struct ui_out *uiout, int width, enum ui_align align,
|
||||
static void
|
||||
clear_table (struct ui_out *uiout)
|
||||
{
|
||||
if (uiout->table.id)
|
||||
xfree (uiout->table.id);
|
||||
xfree (uiout->table.id);
|
||||
uiout->table.id = NULL;
|
||||
clear_header_list (uiout);
|
||||
}
|
||||
|
||||
@ -1114,6 +1114,7 @@ ui_out_new (const struct ui_out_impl *impl, void *data,
|
||||
current->field_count = 0;
|
||||
VEC_safe_push (ui_out_level_p, uiout->levels, current);
|
||||
|
||||
uiout->table.id = NULL;
|
||||
uiout->table.header_first = NULL;
|
||||
uiout->table.header_last = NULL;
|
||||
uiout->table.header_next = NULL;
|
||||
|
Loading…
x
Reference in New Issue
Block a user