diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Multiname.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Multiname.java index a429b0c30..72d3d9dcc 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Multiname.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Multiname.java @@ -254,6 +254,9 @@ public class Multiname { if (index == 0) { return "null"; } + if (index >= constants.getNamespaceCount()) { + return "Unknown(" + index + ")"; + } int type = constants.getNamespace(index).kind; int name_index = constants.getNamespace(index).name_index; String name = name_index == 0 ? null : constants.getNamespace(index).getName(constants).toRawString(); @@ -273,6 +276,9 @@ public class Multiname { if (index == 0) { return "null"; } + if (index >= constants.getNamespaceSetCount()) { + return "Unknown(" + index + ")"; + } StringBuilder ret = new StringBuilder(); ret.append("["); for (int n = 0; n < constants.getNamespaceSet(index).namespaces.length; n++) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ScriptInfo.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ScriptInfo.java index b69ee5c4c..4f7bb3cca 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ScriptInfo.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ScriptInfo.java @@ -74,6 +74,9 @@ public class ScriptInfo { for (int j = 0; j < traits.traits.size(); j++) { Trait t = traits.traits.get(j); + if (t.name_index >= abc.constants.getMultinameCount()) { + continue; + } Multiname name = t.getName(abc); int nskind = name.getSimpleNamespaceKind(abc.constants); if ((nskind == Namespace.KIND_PACKAGE_INTERNAL)