From: Alan Modra Date: Tue, 4 Oct 2022 23:57:46 +0000 (+1030) Subject: Re: stab nearest_line bfd_malloc_and_get_section X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=011a13613403c42717c623b0c5fc1e69de9f65b5;p=binutils-gdb.git Re: stab nearest_line bfd_malloc_and_get_section It didn't take long for the fuzzers to avoid size checks in bfd_malloc_and_get_section. Plug this hole. * syms.c (_bfd_stab_section_find_nearest_line): Ignore fuzzed sections with no contents. --- diff --git a/bfd/syms.c b/bfd/syms.c index e8077f59bf0..c9d27ebe5d4 100644 --- a/bfd/syms.c +++ b/bfd/syms.c @@ -1019,6 +1019,10 @@ _bfd_stab_section_find_nearest_line (bfd *abfd, return true; } + if ((info->stabsec->flags & SEC_HAS_CONTENTS) == 0 + || (info->strsec->flags & SEC_HAS_CONTENTS) == 0) + goto out; + stabsize = (info->stabsec->rawsize ? info->stabsec->rawsize : info->stabsec->size);