From ea5bf0a1f9f5ebc127b1982c31a7abb27b36c563 Mon Sep 17 00:00:00 2001 From: Michael Snyder Date: Wed, 8 Aug 2007 18:08:52 +0000 Subject: [PATCH] 2007-08-08 Michael Snyder * solib-svr4.c (open_symbol_file_object): Memory leak. (svr4_current_sos): Ditto. (enable_break): Ditto. --- gdb/ChangeLog | 4 ++++ gdb/solib-svr4.c | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 5b9036a..900d5c2 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,9 @@ 2007-08-08 Michael Snyder + * solib-svr4.c (open_symbol_file_object): Memory leak. + (svr4_current_sos): Ditto. + (enable_break): Ditto. + * cp-valprint.c (cp_print_hpacc_virtual_table_entries): Memory leak. * dwarf2read.c (add_partial_symbol): Memory leak. diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c index fc608de..9b72a57 100644 --- a/gdb/solib-svr4.c +++ b/gdb/solib-svr4.c @@ -623,6 +623,7 @@ open_symbol_file_object (void *from_ttyp) /* Now fetch the filename from target memory. */ target_read_string (l_name, &filename, SO_NAME_MAX_PATH_SIZE - 1, &errcode); + make_cleanup (xfree, filename); if (errcode) { @@ -631,7 +632,6 @@ open_symbol_file_object (void *from_ttyp) return 0; } - make_cleanup (xfree, filename); /* Have a pathname: read the symbol file. */ symbol_file_add_main (filename, from_tty); @@ -751,9 +751,9 @@ svr4_current_sos (void) { strncpy (new->so_name, buffer, SO_NAME_MAX_PATH_SIZE - 1); new->so_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0'; - xfree (buffer); strcpy (new->so_original_name, new->so_name); } + xfree (buffer); /* If this entry has no name, or its name matches the name for the main executable, don't include it in the list. */ @@ -1008,6 +1008,7 @@ enable_break (void) tmp_fd = solib_open (buf, &tmp_pathname); if (tmp_fd >= 0) tmp_bfd = bfd_fopen (tmp_pathname, gnutarget, FOPEN_RB, tmp_fd); + xfree (tmp_pathname); if (tmp_bfd == NULL) goto bkpt_at_symbol; -- 2.7.4