From efff45b40a10ab0b3bdc16c3f20cf4af3f6dea88 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 4 Jan 2023 21:39:54 +1030 Subject: [PATCH] addr2line out of memory on fuzzed file Another case of fuzzers finding the section size sanity checks are avoided with SHT_NOBITS sections. * dwarf2.c (read_section): Check that the DWARF section being read has contents. --- bfd/dwarf2.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c index 6eb6e04e6e5..f689eebbd88 100644 --- a/bfd/dwarf2.c +++ b/bfd/dwarf2.c @@ -705,6 +705,14 @@ read_section (bfd *abfd, return false; } + if ((msec->flags & SEC_HAS_CONTENTS) == 0) + { + _bfd_error_handler (_("DWARF error: section %s has no contents"), + section_name); + bfd_set_error (bfd_error_no_contents); + return false; + } + if (_bfd_section_size_insane (abfd, msec)) { /* PR 26946 */ -- 2.30.2