[binutils-gdb] Re: stab nearest_line bfd_malloc_and_get_section
Alan Modra
amodra@sourceware.org
Wed Oct 5 04:25:31 GMT 2022
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=011a13613403c42717c623b0c5fc1e69de9f65b5
commit 011a13613403c42717c623b0c5fc1e69de9f65b5
Author: Alan Modra <amodra@gmail.com>
Date: Wed Oct 5 10:27:46 2022 +1030
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:
---
bfd/syms.c | 4 ++++
1 file changed, 4 insertions(+)
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);
More information about the Binutils-cvs
mailing list