aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/solib-svr4.c5
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 <msnyder@access-company.com>
+ * 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;