diff --git a/Ghidra/Features/Decompiler/src/decompile/cpp/type.cc b/Ghidra/Features/Decompiler/src/decompile/cpp/type.cc index 88ca8e36c8..f00502ba65 100644 --- a/Ghidra/Features/Decompiler/src/decompile/cpp/type.cc +++ b/Ghidra/Features/Decompiler/src/decompile/cpp/type.cc @@ -1726,6 +1726,9 @@ Datatype *TypeStruct::nearestArrayedComponentForward(int8 off,int8 *newoff,int8 int8 suboff; Datatype *res = subtype->nearestArrayedComponentForward(remain, &suboff, elSize); if (res != (Datatype *)0) { + int8 subdiff = diff + remain - suboff; + if (subdiff > 128) + break; *newoff = -diff; return subtype; }