diff options
author | Stu Grossman <grossman@cygnus> | 1994-04-22 05:59:24 +0000 |
---|---|---|
committer | Stu Grossman <grossman@cygnus> | 1994-04-22 05:59:24 +0000 |
commit | 7f772644c7633b808ff13e36d7034497f2d310d8 (patch) | |
tree | 48fab936de09e6ad9eda0606368ef1962d9f7bee /bfd/nlmcode.h | |
parent | de04bcebc013768208f4e750476005a5aab25b53 (diff) | |
download | gdb-7f772644c7633b808ff13e36d7034497f2d310d8.zip gdb-7f772644c7633b808ff13e36d7034497f2d310d8.tar.gz gdb-7f772644c7633b808ff13e36d7034497f2d310d8.tar.bz2 |
* nlmcode.h (nlm_swap_auxiliary_headers_in): Keep section table
(from CyGnUsSeCs) in more permanent memory to keep section names
from getting trashed.
Diffstat (limited to 'bfd/nlmcode.h')
-rw-r--r-- | bfd/nlmcode.h | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/bfd/nlmcode.h b/bfd/nlmcode.h index 6655a6f..63b2b5c 100644 --- a/bfd/nlmcode.h +++ b/bfd/nlmcode.h @@ -567,7 +567,8 @@ nlm_swap_auxiliary_headers_in (abfd) is what we want to happen. The sections from the original file, which may be subsets of the NLM section, can only be found using bfd_map_over_sections. */ - contents = (bfd_byte *) malloc (len); + + contents = (bfd_byte *) bfd_alloc (abfd, len); if (contents == (bfd_byte *) NULL) { bfd_set_error (bfd_error_no_memory); @@ -577,10 +578,7 @@ nlm_swap_auxiliary_headers_in (abfd) if (bfd_seek (abfd, nlm_cygnus_section_header (abfd)->offset, SEEK_SET) != 0 || bfd_read (contents, len, 1, abfd) != len) - { - free (contents); - return false; - } + return false; p = contents; pend = p + len; while (p < pend) @@ -609,10 +607,7 @@ nlm_swap_auxiliary_headers_in (abfd) newsec = bfd_make_section_anyway (abfd, name); if (newsec == (asection *) NULL) - { - free (contents); - return false; - } + return false; newsec->_raw_size = size; if (filepos != 0) { @@ -621,7 +616,6 @@ nlm_swap_auxiliary_headers_in (abfd) } } - free (contents); if (bfd_seek (abfd, pos, SEEK_SET) != 0) return false; } |