From 2d65594383ec574fb120e282834e803f04fa9bca Mon Sep 17 00:00:00 2001 From: Skylot Date: Mon, 3 Jul 2023 15:51:42 +0100 Subject: [PATCH] fix: additional checks for class alias string (#1937) --- .../src/main/java/jadx/core/dex/info/ClassAliasInfo.java | 5 +++++ .../java/jadx/core/dex/visitors/rename/RenameVisitor.java | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/jadx-core/src/main/java/jadx/core/dex/info/ClassAliasInfo.java b/jadx-core/src/main/java/jadx/core/dex/info/ClassAliasInfo.java index 9c02718ef..49c2b7147 100644 --- a/jadx-core/src/main/java/jadx/core/dex/info/ClassAliasInfo.java +++ b/jadx-core/src/main/java/jadx/core/dex/info/ClassAliasInfo.java @@ -2,6 +2,8 @@ package jadx.core.dex.info; import org.jetbrains.annotations.Nullable; +import jadx.core.utils.StringUtils; + class ClassAliasInfo { private final String shortName; @Nullable @@ -10,6 +12,9 @@ class ClassAliasInfo { private String fullName; ClassAliasInfo(@Nullable String pkg, String shortName) { + if (StringUtils.isEmpty(shortName)) { + throw new IllegalArgumentException("Class alias can't be empty"); + } this.pkg = pkg; this.shortName = shortName; } diff --git a/jadx-core/src/main/java/jadx/core/dex/visitors/rename/RenameVisitor.java b/jadx-core/src/main/java/jadx/core/dex/visitors/rename/RenameVisitor.java index ddb36ebff..68a5b7113 100644 --- a/jadx-core/src/main/java/jadx/core/dex/visitors/rename/RenameVisitor.java +++ b/jadx-core/src/main/java/jadx/core/dex/visitors/rename/RenameVisitor.java @@ -25,6 +25,7 @@ import jadx.core.dex.nodes.MethodNode; import jadx.core.dex.nodes.PackageNode; import jadx.core.dex.nodes.RootNode; import jadx.core.dex.visitors.AbstractVisitor; +import jadx.core.utils.StringUtils; public class RenameVisitor extends AbstractVisitor { private static final Pattern ANONYMOUS_CLASS_PATTERN = Pattern.compile("^\\d+$"); @@ -125,6 +126,9 @@ public class RenameVisitor extends AbstractVisitor { @Nullable private static String fixClsShortName(JadxArgs args, String clsName) { + if (StringUtils.isEmpty(clsName)) { + return null; + } boolean renameValid = args.isRenameValid(); if (renameValid) { if (ANONYMOUS_CLASS_PATTERN.matcher(clsName).matches()) {