Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Watson2006-03-09 19:22:09 +0000
committerThomas Watson2006-03-09 19:22:09 +0000
commit5552ac361485e71a6d3b2177cb6d64bece5fcb19 (patch)
tree61cd89de69042ccd8d390669039f5ca3e7d92446
parent061dec9fee2a575bab5b293c3d1f7419a21dec34 (diff)
downloadrt.equinox.framework-5552ac361485e71a6d3b2177cb6d64bece5fcb19.tar.gz
rt.equinox.framework-5552ac361485e71a6d3b2177cb6d64bece5fcb19.tar.xz
rt.equinox.framework-5552ac361485e71a6d3b2177cb6d64bece5fcb19.zip
Add self to visited set first to prevent cycling to yourself.
-rw-r--r--bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/BundleLoader.java1
1 files changed, 1 insertions, 0 deletions
diff --git a/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/BundleLoader.java b/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/BundleLoader.java
index 4bed0e385..4edc3499f 100644
--- a/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/BundleLoader.java
+++ b/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/BundleLoader.java
@@ -880,6 +880,7 @@ public class BundleLoader implements ClassLoaderDelegate {
return result.isNullSource() ? null : result;
}
KeyedHashSet visited = new KeyedHashSet(false);
+ visited.add(bundle); // always add ourselves so we do not recurse back to ourselves
ArrayList result = new ArrayList(3);
for (int i = 0; i < requiredBundles.length; i++) {
BundleLoader requiredLoader = requiredBundles[i].getBundleLoader();

Back to the top