From 37522c873e86dd4941b9cdf38116f31d447d2234 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Tue, 11 Apr 2023 14:54:26 +0100 Subject: [PATCH] Fix illegal memory access when disassembling corrupt NFP binaries. PR 30310 * nfp-dis.c (init_nfp6000_priv): Check that the output section exists. --- 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 + + PR 30310 + * nfp-dis.c (init_nfp6000_priv): Check that the output section + exists. + 2023-03-15 Nick Clifton 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; -- 2.30.2