* linespec.c (decode_objc): Add cleanup to free

INFO.FILE_SYMTABS.
	(find_linespec_symbols): Add cleanup to free CLASSES.
	* symfile.c (find_separate_debug_file_by_debuglink): Add
	cleanup to free DEBUGLINK.
	* ui-out.c (clear_header_list): No need to check if
	HEADER_NEXT.COLHDR is NULL.
	Free HEADER_NEXT.COL_NAME.
This commit is contained in:
Keith Seitz 2012-05-31 18:44:50 +00:00
parent 2d376810dc
commit 71bdabee21
4 changed files with 17 additions and 3 deletions

View File

@ -1,3 +1,14 @@
2012-05-31 Keith Seitz <keiths@redhat.com>
* linespec.c (decode_objc): Add cleanup to free
INFO.FILE_SYMTABS.
(find_linespec_symbols): Add cleanup to free CLASSES.
* symfile.c (find_separate_debug_file_by_debuglink): Add
cleanup to free DEBUGLINK.
* ui-out.c (clear_header_list): No need to check if
HEADER_NEXT.COLHDR is NULL.
Free HEADER_NEXT.COL_NAME.
2012-05-31 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
* ada-lang.c (standard_lookup): Prevent uninitialized variable

View File

@ -2409,6 +2409,7 @@ decode_objc (struct linespec_state *self, linespec_p ls, char **argptr)
info.state = self;
info.file_symtabs = NULL;
VEC_safe_push (symtab_p, info.file_symtabs, NULL);
make_cleanup (VEC_cleanup (symtab_p), &info.file_symtabs);
info.result.symbols = NULL;
info.result.minimal_symbols = NULL;
values.nelts = 0;
@ -2949,6 +2950,7 @@ find_linespec_symbols (struct linespec_state *state,
/* Find a list of classes named KLASS. */
classes = lookup_prefix_sym (state, file_symtabs, klass);
make_cleanup (VEC_cleanup (symbolp), &classes);
if (!VEC_empty (symbolp, classes))
{
/* Now locate a list of suitable methods named METHOD. */

View File

@ -1553,8 +1553,9 @@ find_separate_debug_file_by_debuglink (struct objfile *objfile)
return NULL;
}
cleanups = make_cleanup (xfree, debuglink);
dir = xstrdup (objfile->name);
cleanups = make_cleanup (xfree, dir);
make_cleanup (xfree, dir);
terminate_after_last_dir_separator (dir);
canon_dir = lrealpath (dir);

View File

@ -968,8 +968,8 @@ clear_header_list (struct ui_out *uiout)
{
uiout->table.header_next = uiout->table.header_first;
uiout->table.header_first = uiout->table.header_first->next;
if (uiout->table.header_next->colhdr != NULL)
xfree (uiout->table.header_next->colhdr);
xfree (uiout->table.header_next->colhdr);
xfree (uiout->table.header_next->col_name);
xfree (uiout->table.header_next);
}
gdb_assert (uiout->table.header_first == NULL);