This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Prevent an abort in the FRV disassembler if the target bfd name is unknown.


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=0ae60c3ef45d41b34d40ed5c7b4fdfea289530de

commit 0ae60c3ef45d41b34d40ed5c7b4fdfea289530de
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jan 5 09:11:47 2017 +0000

    Prevent an abort in the FRV disassembler if the target bfd name is unknown.
    
    	PR 20946
    	* frv-desc.c (lookup_mach_via_bfd_name): Return NULL if the name
    	could not be matched.
    	(frv_cgen_cpu_open): Allow for lookup_mach_via_bfd_name returning
    	NULL.

Diff:
---
 opcodes/ChangeLog  | 8 ++++++++
 opcodes/frv-desc.c | 6 +++---
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 555a379..8494c51 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,11 @@
+2017-01-05  Nick Clifton  <nickc@redhat.com>
+
+	PR 20946
+	* frv-desc.c (lookup_mach_via_bfd_name): Return NULL if the name
+	could not be matched.
+	(frv_cgen_cpu_open): Allow for lookup_mach_via_bfd_name returning
+	NULL.
+
 2017-01-04  Szabolcs Nagy  <szabolcs.nagy@arm.com>
 
 	* aarch64-tbl.h (RCPC, RCPC_INSN): Define.
diff --git a/opcodes/frv-desc.c b/opcodes/frv-desc.c
index ab4d7eb..bba510c 100644
--- a/opcodes/frv-desc.c
+++ b/opcodes/frv-desc.c
@@ -6173,7 +6173,7 @@ lookup_mach_via_bfd_name (const CGEN_MACH *table, const char *name)
 	return table;
       ++table;
     }
-  abort ();
+  return NULL;
 }
 
 /* Subroutine of frv_cgen_cpu_open to build the hardware table.  */
@@ -6386,8 +6386,8 @@ frv_cgen_cpu_open (enum cgen_cpu_open_arg arg_type, ...)
 	    const char *name = va_arg (ap, const char *);
 	    const CGEN_MACH *mach =
 	      lookup_mach_via_bfd_name (frv_cgen_mach_table, name);
-
-	    machs |= 1 << mach->num;
+	    if (mach != NULL)
+	      machs |= 1 << mach->num;
 	    break;
 	  }
 	case CGEN_CPU_OPEN_ENDIAN :


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]