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/elf.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/elf.c')
-rw-r--r-- | bfd/elf.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -9649,6 +9649,7 @@ _bfd_elf_close_and_cleanup (bfd *abfd) if (elf_tdata (abfd)->o != NULL && elf_shstrtab (abfd) != NULL) _bfd_elf_strtab_free (elf_shstrtab (abfd)); _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); |