public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* PR29626, Segfault when disassembling ARM code
@ 2022-09-30  1:02 Alan Modra
  0 siblings, 0 replies; only message in thread
From: Alan Modra @ 2022-09-30  1:02 UTC (permalink / raw)
  To: binutils

Note: -w diff shown.  The actual patch applied reindents.

	PR 29626
	* arm-dis.c (mapping_symbol_for_insn): Return false on zero
	symtab_size.  Delete later symtab_size test.

diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c
index 684c74f7f20..caf3531ae3d 100644
--- a/opcodes/arm-dis.c
+++ b/opcodes/arm-dis.c
@@ -11865,14 +11865,13 @@ mapping_symbol_for_insn (bfd_vma pc, struct disassemble_info *info,
   struct arm_private_data *private_data;
 
   if (info->private_data == NULL
+      || info->symtab_size == 0
       || bfd_asymbol_flavour (*info->symtab) != bfd_target_elf_flavour)
     return false;
 
   private_data = info->private_data;
 
   /* First, look for mapping symbols.  */
-  if (info->symtab_size != 0)
-  {
   if (pc <= private_data->last_mapping_addr)
     private_data->last_mapping_sym = -1;
 
@@ -11884,8 +11883,8 @@ mapping_symbol_for_insn (bfd_vma pc, struct disassemble_info *info,
      are disassembling a different glob of bytes.  As such the optimization
      would not be safe and we should start over.  */
   can_use_search_opt_p
-      = private_data->last_mapping_sym >= 0
-	&& info->stop_offset == private_data->last_stop_offset;
+    = (private_data->last_mapping_sym >= 0
+       && info->stop_offset == private_data->last_stop_offset);
 
   if (n >= private_data->last_mapping_sym && can_use_search_opt_p)
     n = private_data->last_mapping_sym;
@@ -11935,7 +11934,6 @@ mapping_symbol_for_insn (bfd_vma pc, struct disassemble_info *info,
 	    }
 	}
     }
-  }
 
   /* If no mapping symbol was found, try looking up without a mapping
      symbol.  This is done by walking up from the current PC to the nearest

-- 
Alan Modra
Australia Development Lab, IBM

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-09-30  1:02 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-30  1:02 PR29626, Segfault when disassembling ARM code Alan Modra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).