Fix a potential endless loop on android (FELIX-1631).
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@817968 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/framework/src/main/java/org/apache/felix/framework/ModuleImpl.java b/framework/src/main/java/org/apache/felix/framework/ModuleImpl.java
index 0d29839..787951a 100644
--- a/framework/src/main/java/org/apache/felix/framework/ModuleImpl.java
+++ b/framework/src/main/java/org/apache/felix/framework/ModuleImpl.java
@@ -1440,8 +1440,10 @@
// then delegate to the parent class loader; otherwise,
// break out of loop and return null.
boolean delegate = true;
- for (ClassLoader cl = classes[i].getClassLoader(); cl != null; cl = cl.getClass().getClassLoader())
+ ClassLoader last = null;
+ for (ClassLoader cl = classes[i].getClassLoader(); (cl != null) && (last != cl); cl = cl.getClass().getClassLoader())
{
+ last = cl;
if (ModuleClassLoader.class.isInstance(cl))
{
delegate = false;