diff --git a/jadx-core/src/main/java/jadx/core/xmlgen/CommonBinaryParser.java b/jadx-core/src/main/java/jadx/core/xmlgen/CommonBinaryParser.java index e52657ed1..e7116714e 100644 --- a/jadx-core/src/main/java/jadx/core/xmlgen/CommonBinaryParser.java +++ b/jadx-core/src/main/java/jadx/core/xmlgen/CommonBinaryParser.java @@ -11,7 +11,6 @@ public class CommonBinaryParser extends ParserConstants { return parseStringPoolNoType(); } - @SuppressWarnings("unused") protected String[] parseStringPoolNoType() throws IOException { long start = is.getPos() - 2; is.checkInt16(0x001c, "String pool header size not 0x001c"); @@ -56,6 +55,9 @@ public class CommonBinaryParser extends ParserConstants { } private static String extractString8(byte[] strArray, int offset) { + if (offset >= strArray.length) { + return "STRING_DECODE_ERROR"; + } int start = offset + skipStrLen8(strArray, offset); int len = strArray[start++]; if (len == 0) {