[binutils-gdb] Fix illegal memory access when disassembling corrupt NFP binaries.

Nick Clifton nickc@sourceware.org
Tue Apr 11 13:54:59 GMT 2023


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

commit 37522c873e86dd4941b9cdf38116f31d447d2234
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Apr 11 14:54:26 2023 +0100

    Fix illegal memory access when disassembling corrupt NFP binaries.
    
      PR 30310
      * nfp-dis.c (init_nfp6000_priv): Check that the output section exists.

Diff:
---
 opcodes/ChangeLog | 6 ++++++
 opcodes/nfp-dis.c | 4 +++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index e8a224bc424..a25c20d2fb9 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,9 @@
+2023-04-11  Nick Clifton  <nickc@redhat.com>
+
+	PR 30310
+	* nfp-dis.c (init_nfp6000_priv): Check that the output section
+	exists.
+
 2023-03-15  Nick Clifton  <nickc@redhat.com>
 
 	PR 30231
diff --git a/opcodes/nfp-dis.c b/opcodes/nfp-dis.c
index a3d394e44dc..975fa697c55 100644
--- a/opcodes/nfp-dis.c
+++ b/opcodes/nfp-dis.c
@@ -2676,7 +2676,9 @@ init_nfp6000_priv (nfp_priv_data * priv, struct disassemble_info *dinfo)
 
   memset (mecfg_orders, -1, sizeof (mecfg_orders));
 
-  if (!dinfo->section)
+  if (dinfo->section == NULL
+      || dinfo->section->owner == NULL
+      || elf_elfsections (dinfo->section->owner) == NULL)
     /* No section info, will use default values.  */
     return true;


More information about the Binutils-cvs mailing list