Re: PR25993, read of freed memory
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index cb168f17684ef55ae2c784cb690ff56ba87de946..3dc0356928ad6a3a06cbc5c9f3fa4d134e725b18 100644 (file)
@@ -1,8 +1,84 @@
+2020-05-21  Alan Modra  <amodra@gmail.com>
+
+       PR 25993
+       * opncls.c (_bfd_free_cached_info): Keep a copy of the bfd
+       filename.
+       (_bfd_delete_bfd): Free the copy.
+       (_bfd_new_bfd): Free nbfd->memory on error.
+
+2020-05-21  Alan Modra  <amodra@gmail.com>
+
+       * aoutx.h: Replace "if (x) free (x)" with "free (x)" throughout.
+       * archive.c, * bfd.c, * bfdio.c, * coff-alpha.c, * coff-ppc.c,
+       * coff-sh.c, * coff-stgo32.c, * coffcode.h, * coffgen.c,
+       * cofflink.c, * cpu-arm.c, * doc/chew.c, * dwarf2.c, * ecoff.c,
+       * ecofflink.c, * elf-eh-frame.c, * elf-m10200.c, * elf-m10300.c,
+       * elf-strtab.c, * elf.c, * elf32-arc.c, * elf32-arm.c,
+       * elf32-avr.c, * elf32-bfin.c, * elf32-cr16.c, * elf32-crx.c,
+       * elf32-epiphany.c, * elf32-ft32.c, * elf32-h8300.c,
+       * elf32-ip2k.c, * elf32-m32c.c, * elf32-m68hc11.c,
+       * elf32-m68k.c, * elf32-microblaze.c, * elf32-msp430.c,
+       * elf32-nds32.c, * elf32-nios2.c, * elf32-ppc.c, * elf32-pru.c,
+       * elf32-rl78.c, * elf32-rx.c, * elf32-sh.c, * elf32-spu.c,
+       * elf32-v850.c, * elf32-xtensa.c, * elf64-alpha.c,
+       * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mips.c
+       * elf64-mmix.c, * elf64-ppc.c, * elf64-sparc.c, * elfcode.h,
+       * elflink.c, * elfnn-ia64.c, * elfnn-riscv.c, * elfxx-mips.c,
+       * elfxx-x86.c, * format.c, * ihex.c, * libbfd.c, * linker.c,
+       * mmo.c, * opncls.c, * pdp11.c, * peXXigen.c, * pef.c,
+       * peicode.h, * simple.c, * som.c, * srec.c, * stabs.c, * syms.c,
+       * targets.c, * vms-lib.c, * xcofflink.c, * xtensa-isa.c: Likewise.
+
+2020-05-20  Nelson Chu  <nelson.chu@sifive.com>
+
+       * elfxx-riscv.h (riscv_parse_subset_t): Add new callback function
+       get_default_version.  It is used to find the default version for
+       the specific extension.
+       * elfxx-riscv.c (riscv_parsing_subset_version): Remove the parameters
+       default_major_version and default_minor_version.  Add new bfd_boolean
+       parameter *use_default_version.  Set it to TRUE if we need to call
+       the callback rps->get_default_version to find the default version.
+       (riscv_parse_std_ext): Call rps->get_default_version if we fail to find
+       the default version in riscv_parsing_subset_version, and then call
+       riscv_add_subset to add the subset into subset list.
+       (riscv_parse_prefixed_ext): Likewise.
+       (riscv_std_z_ext_strtab): Support Zicsr extensions.
+       * elfnn-riscv.c (riscv_merge_std_ext): Use strcasecmp to compare the
+       strings rather than characters.
+       riscv_merge_arch_attr_info): The callback function get_default_version
+       is only needed for assembler, so set it to NULL int the linker.
+       * elfxx-riscv.c (riscv_estimate_digit): Remove the static.
+       * elfxx-riscv.h: Updated.
+
+2020-05-20  Alan Modra  <amodra@gmail.com>
+
+       PR 25993
+       * archive.c (_bfd_get_elt_at_filepos): Don't strdup filename,
+       use bfd_set_filename.
+       * elfcode.h (_bfd_elf_bfd_from_remote_memory): Likewise.
+       * mach-o.c (bfd_mach_o_fat_member_init): Likewise.
+       * opncls.c (bfd_fopen, bfd_openstreamr, bfd_openr_iovec, bfd_openw),
+       (bfd_create): Likewise.
+       (_bfd_delete_bfd): Don't free filename.
+       (bfd_set_filename): Copy filename param to bfd_alloc'd memory,
+       return pointer to the copy or NULL on alloc fail.
+       * vms-lib.c (_bfd_vms_lib_get_module): Free newname and test
+       result of bfd_set_filename.
+       * bfd-in2.h: Regenerate.
+
+2020-05-20  Alan Modra  <amodra@gmail.com>
+
+       PR 26011
+       * elf.c (_bfd_elf_get_reloc_upper_bound): Sanity check reloc
+       section size against file size.
+       (_bfd_elf_get_dynamic_reloc_upper_bound): Likewise.
+
 2020-05-19  Gunther Nikl  <gnikl@justmail.de>
 
        PR 26005
-       * elf.c (bfd_section_from_shdr): Replace bfd_malloc + memset with
-       bfd_zmalloc to allocate memory for the sections_being_created array.
+       * elf.c (bfd_section_from_shdr): Replace bfd_zmalloc with bfd_malloc
+       and memset when allocating memory for the sections_being_created
+       array.
 
 2020-05-19  Stafford Horne  <shorne@gmail.com>
 
This page took 0.026596 seconds and 4 git commands to generate.