提交 7d29c5d7 编写于 作者: S Skylot

fix: correct skip size for sparse switch payload

上级 15776c4c
......@@ -13,6 +13,7 @@ import jadx.core.dex.nodes.ClassNode;
import jadx.core.dex.nodes.RootNode;
import jadx.core.dex.visitors.typeinference.TypeCompareEnum;
import jadx.core.utils.Utils;
import jadx.core.utils.exceptions.JadxRuntimeException;
public abstract class ArgType {
public static final ArgType INT = primitive(PrimitiveType.INT);
......@@ -645,6 +646,9 @@ public abstract class ArgType {
}
public static ArgType parse(String type) {
if (type == null || type.isEmpty()) {
throw new JadxRuntimeException("Failed to parse type string: " + type);
}
char f = type.charAt(0);
switch (f) {
case 'L':
......
......@@ -293,7 +293,7 @@ public abstract class DexInsnFormat {
@Override
public void skip(DexInsnData insn, SectionReader in) {
int size = in.readUShort();
in.skip(4 + size * 4 * 2);
in.skip(size * 8);
insn.setLength(size * 4 + 2);
}
};
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册