diff options
author | Nick Clifton <nickc@redhat.com> | 2003-04-01 10:31:34 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2003-04-01 10:31:34 +0000 |
commit | d63fd5d103a7ddf4b15c2945b47a5f633485c6cf (patch) | |
tree | 774e4d753bd6b3cd128102555e11c263b95b5048 /bfd | |
parent | af3ef9fe5c1b25265c6c6188a48020b5e6512b75 (diff) | |
download | gdb-d63fd5d103a7ddf4b15c2945b47a5f633485c6cf.zip gdb-d63fd5d103a7ddf4b15c2945b47a5f633485c6cf.tar.gz gdb-d63fd5d103a7ddf4b15c2945b47a5f633485c6cf.tar.bz2 |
Make add_line_info() take a copy of the filename.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 2 | ||||
-rw-r--r-- | bfd/dwarf2.c | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 897ab4b..4e59f8b 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -3,6 +3,8 @@ * dwarf2.c (concat_filename): Use bfd_malloc() and strdup() instead of concat(). (decode_line_info): Only free filename if it is not NULL. + (add_line_info): Make a copy of the filename when storing it into + the info structure. 2003-03-31 Andreas Schwab <schwab@suse.de> Daniel Jacobowitz <drow@mvista.com> diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c index e8ebd62..1566b9a 100644 --- a/bfd/dwarf2.c +++ b/bfd/dwarf2.c @@ -901,10 +901,19 @@ add_line_info (table, address, filename, line, column, end_sequence) /* Set member data of 'info'. */ info->address = address; - info->filename = filename; info->line = line; info->column = column; info->end_sequence = end_sequence; + + amt = strlen (filename); + if (amt) + { + info->filename = bfd_alloc (table->abfd, amt + 1); + if (info->filename) + strcpy (info->filename, filename); + } + else + info->filename = NULL; } /* Extract a fully qualified filename from a line info table. |