diff options
author | Alan Modra <amodra@gmail.com> | 2022-09-24 18:14:14 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2022-09-26 14:23:29 +0930 |
commit | f3bc603561c993cdb8811c361ec5e9e484628cdc (patch) | |
tree | a9f086c40f78834907e209df7bb55700a27455ae /bfd/coffgen.c | |
parent | 544c5619574318a6f9044c6aace524a9808ed1d6 (diff) | |
download | gdb-f3bc603561c993cdb8811c361ec5e9e484628cdc.zip gdb-f3bc603561c993cdb8811c361ec5e9e484628cdc.tar.gz gdb-f3bc603561c993cdb8811c361ec5e9e484628cdc.tar.bz2 |
stab nearest_line bfd_malloc_and_get_section
bfd_malloc_and_get_section performs some sanity checks on the section
size before allocating memory. This patch avails the stab
nearest_line code of that sanity checking, and tidies up memory
afterward.
* coffgen.c (_bfd_coff_close_and_cleanup): Call _bfd_stab_cleanup.
* elf.c (_bfd_elf_close_and_cleanup): Likewise.
* syms.c (_bfd_stab_section_find_nearest_line): Set *pinfo earlier.
Use bfd_malloc_and_get_section. Free malloc'd buffers on failure.
Malloc indextable.
(_bfd_stab_cleanup): New function.
* libbfd-in.h (_bfd_stab_cleanup): Declare.
* libbfd.h: Regnerate.
Diffstat (limited to 'bfd/coffgen.c')
-rw-r--r-- | bfd/coffgen.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/bfd/coffgen.c b/bfd/coffgen.c index 8eb69af..3e0fbc6 100644 --- a/bfd/coffgen.c +++ b/bfd/coffgen.c @@ -3175,7 +3175,10 @@ _bfd_coff_close_and_cleanup (bfd *abfd) if (bfd_get_format (abfd) == bfd_object || bfd_get_format (abfd) == bfd_core) - _bfd_dwarf2_cleanup_debug_info (abfd, &tdata->dwarf2_find_line_info); + { + _bfd_dwarf2_cleanup_debug_info (abfd, &tdata->dwarf2_find_line_info); + _bfd_stab_cleanup (abfd, &tdata->line_info); + } } return _bfd_generic_close_and_cleanup (abfd); } |