[binutils-gdb] bfd/elf.c strtab memory leak

Alan Modra amodra@sourceware.org
Wed Jun 7 02:02:19 GMT 2023


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c7e6669a5b29240b1e5f6fd2acc987fd75b71044

commit c7e6669a5b29240b1e5f6fd2acc987fd75b71044
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jun 7 09:41:57 2023 +0930

    bfd/elf.c strtab memory leak
    
            * elf.c (_bfd_elf_compute_section_file_positions): Free strtab
            on set_group_contents failure return path.

Diff:
---
 bfd/elf.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/bfd/elf.c b/bfd/elf.c
index 81eb3ef71fa..af2fb04dcbe 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -4254,7 +4254,11 @@ _bfd_elf_compute_section_file_positions (bfd *abfd,
     {
       bfd_map_over_sections (abfd, bfd_elf_set_group_contents, &failed);
       if (failed)
-	return false;
+	{
+	  if (need_symtab)
+	    _bfd_elf_strtab_free (strtab);
+	  return false;
+	}
     }
 
   shstrtab_hdr = &elf_tdata (abfd)->shstrtab_hdr;


More information about the Binutils-cvs mailing list