fix: additional checks for class alias string (#1937)

This commit is contained in:
Skylot
2023-07-03 15:51:42 +01:00
parent 36f439a82b
commit 2d65594383
2 changed files with 9 additions and 0 deletions
@@ -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;
}
@@ -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()) {