Merge pull request #44 from Gaming32/main

* Fix package whitelist system
This commit is contained in:
RK_01 2023-05-13 18:51:31 +02:00 committed by GitHub
commit d493b26815
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -78,8 +78,15 @@ public class Java17ToJava8 implements IBytecodeTransformer {
@Override
public byte[] transform(String className, byte[] bytecode, boolean calculateStackMapFrames) {
for (String whitelistedPackage : this.whitelistedPackages) {
if (!className.startsWith(whitelistedPackage)) return null;
if (!whitelistedPackages.isEmpty()) {
int dotIndex = className.lastIndexOf('.');
if (dotIndex == -1 && !whitelistedPackages.contains("")) return null;
String pkg = className.substring(0, dotIndex);
while (!whitelistedPackages.contains(pkg)) {
dotIndex = pkg.lastIndexOf('.');
if (dotIndex == -1) return null;
pkg = pkg.substring(0, dotIndex);
}
}
final ClassNode classNode = ASMUtils.fromBytes(bytecode);