]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - bfd/elfcode.h
More fixes for memory access violations exposed by fuzzed binaries.
[thirdparty/binutils-gdb.git] / bfd / elfcode.h
index a49a7088ebbd9156b4af5cd40359bf45be122c02..d34e18ed080057eea951c6c9f92c84e553063963 100644 (file)
@@ -1501,7 +1501,9 @@ elf_slurp_reloc_table (bfd *abfd,
       rel_hdr2 = d->rela.hdr;
       reloc_count2 = rel_hdr2 ? NUM_SHDR_ENTRIES (rel_hdr2) : 0;
 
-      BFD_ASSERT (asect->reloc_count == reloc_count + reloc_count2);
+      /* PR 17512: file: 0b4f81b7.  */
+      if (asect->reloc_count != reloc_count + reloc_count2)
+       return FALSE;
       BFD_ASSERT ((rel_hdr && asect->rel_filepos == rel_hdr->sh_offset)
                  || (rel_hdr2 && asect->rel_filepos == rel_hdr2->sh_offset));
 
@@ -1749,7 +1751,7 @@ NAME(_bfd_elf,bfd_from_remote_memory)
             headers.  */
        }
       else if (size >= shdr_end)
-       high_offset = shdr_end;
+       high_offset = size;
       else
        {
          bfd_vma page_size = get_elf_backend_data (templ)->minpagesize;