aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2022-09-24 18:14:14 +0930
committerAlan Modra <amodra@gmail.com>2022-09-26 14:23:29 +0930
commitf3bc603561c993cdb8811c361ec5e9e484628cdc (patch)
treea9f086c40f78834907e209df7bb55700a27455ae /bfd/elf.c
parent544c5619574318a6f9044c6aace524a9808ed1d6 (diff)
downloadgdb-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.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/bfd/elf.c b/bfd/elf.c
index 16cea4f..9a0bc1d 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -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);