segfault in objdump.c reloc_at
Alan Modra
amodra@gmail.com
Wed Oct 26 06:51:26 GMT 2022
bfd_canonicalize_reloc returns -1L on errors.
* objdump.c (load_specific_debug_section): Properly handle
error return from bfd_canonicalize_reloc.
diff --git a/binutils/objdump.c b/binutils/objdump.c
index a4ab0dbd66c..0825e051ef6 100644
--- a/binutils/objdump.c
+++ b/binutils/objdump.c
@@ -4212,13 +4212,13 @@ load_specific_debug_section (enum dwarf_section_display_enum debug,
if (reloc_size > 0)
{
- unsigned long reloc_count;
+ long reloc_count;
arelent **relocs;
relocs = (arelent **) xmalloc (reloc_size);
reloc_count = bfd_canonicalize_reloc (abfd, sec, relocs, NULL);
- if (reloc_count == 0)
+ if (reloc_count <= 0)
free (relocs);
else
{
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list