[PATCH] [opcodes/arm] Fix potential null pointer dereferences
Luis Machado
luis.machado@arm.com
Thu Nov 3 07:15:19 GMT 2022
PR 29598: dereferenced null pointer in arm-dis.c
As pointed out in the bug ticket, we have a couple potential null pointer
dereferencing situations for mapping_symbol_for_insn. Harden those.
---
opcodes/arm-dis.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c
index 31ed81f5a4e..01b43582513 100644
--- a/opcodes/arm-dis.c
+++ b/opcodes/arm-dis.c
@@ -12482,6 +12482,10 @@ mapping_symbol_for_insn (bfd_vma pc, struct disassemble_info *info,
bool found = false;
bool can_use_search_opt_p = false;
+ /* Sanity check. */
+ if (info == NULL)
+ return false;
+
/* Default to DATA. A text section is required by the ABI to contain an
INSN mapping symbol at the start. A data section has no such
requirement, hence if no mapping symbol is found the section must
@@ -12495,7 +12499,7 @@ mapping_symbol_for_insn (bfd_vma pc, struct disassemble_info *info,
type = MAP_ARM;
struct arm_private_data *private_data;
- if (info->private_data == NULL
+ if (info->private_data == NULL || info->symtab == NULL
|| info->symtab_size == 0
|| bfd_asymbol_flavour (*info->symtab) != bfd_target_elf_flavour)
return false;
--
2.25.1
More information about the Binutils
mailing list