From 7b2d94b3f004f3da0b64cfff0dad98401cf3d77a Mon Sep 17 00:00:00 2001 From: ghidra1 Date: Wed, 24 Jul 2019 19:07:15 -0400 Subject: [PATCH] GT-3032 corrected aligned structure packer exception triggered by flexible array --- .../java/ghidra/program/model/data/AlignedComponentPacker.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/data/AlignedComponentPacker.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/data/AlignedComponentPacker.java index 2aa9e1d85f..c8d5241fe3 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/data/AlignedComponentPacker.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/data/AlignedComponentPacker.java @@ -59,7 +59,8 @@ class AlignedComponentPacker { * @param isLastComponent true if dtc is the last component within the structure */ void addComponent(InternalDataTypeComponent dtc, boolean isLastComponent) { - if (dtc.getDataType() == DataType.DEFAULT || dtc.isFlexibleArrayComponent()) { + if (dtc.getDataType() == DataType.DEFAULT || + (dtc.isFlexibleArrayComponent() && !isLastComponent)) { throw new IllegalArgumentException("unsupported component"); } if (!packComponent(dtc)) {