Merge remote-tracking branch 'origin/patch'

This commit is contained in:
Ryan Kurtz 2025-09-02 09:32:27 -04:00
commit 074ddc29bb

View file

@ -324,14 +324,16 @@ public class GhidraSourceBundle extends GhidraBundle {
private static void findPackageDirs(List<String> packages, ResourceFile dir) { private static void findPackageDirs(List<String> packages, ResourceFile dir) {
boolean added = false; boolean added = false;
ResourceFile[] files = dir.listFiles(f -> f.isDirectory() || f.getName().endsWith(".java")); ResourceFile[] files = dir.listFiles(f -> f.isDirectory() || f.getName().endsWith(".java"));
for (ResourceFile file : files) { if (files != null) {
if (!file.getName().matches("internal|private")) { for (ResourceFile file : files) {
if (file.isDirectory()) { if (!file.getName().matches("internal|private")) {
findPackageDirs(packages, file); if (file.isDirectory()) {
} findPackageDirs(packages, file);
else if (!added) { }
added = true; else if (!added) {
packages.add(dir.getAbsolutePath()); added = true;
packages.add(dir.getAbsolutePath());
}
} }
} }
} }
@ -699,14 +701,17 @@ public class GhidraSourceBundle extends GhidraBundle {
ClassMapper mapper = new ClassMapper(binarySubdir); ClassMapper mapper = new ClassMapper(binarySubdir);
// for each source file, lookup class files by class name // for each source file, lookup class files by class name
for (ResourceFile sourceFile : sourceSubdir.listFiles()) { ResourceFile[] sourceSubdirs = sourceSubdir.listFiles();
if (sourceFile.isDirectory()) { if (sourceSubdirs != null) {
stack.push(sourceFile); for (ResourceFile sourceFile : sourceSubdirs) {
} if (sourceFile.isDirectory()) {
else { stack.push(sourceFile);
List<Path> classFiles = mapper.findAndRemove(sourceFile); }
if (classFiles != null) { else {
discrepancy.found(sourceFile, classFiles); List<Path> classFiles = mapper.findAndRemove(sourceFile);
if (classFiles != null) {
discrepancy.found(sourceFile, classFiles);
}
} }
} }
} }