FELIX-6206 : NPE in ComponentRegistry.getComponentHolders(). Applied patch by Robert Varga
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1870827 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/scr/changelog.txt b/scr/changelog.txt
index 8f1188e..e3dec1f 100644
--- a/scr/changelog.txt
+++ b/scr/changelog.txt
@@ -2,6 +2,7 @@
-----------------
** Bug
* [FELIX-6096] - SCR fails if the Java Runtime Environment does not support permissions
+ * [FELIX-6206] - NPE in ComponentRegistry.getComponentHolders()
** Improvement
* [FELIX-6107] - Loggging Passwords when invoking activate Method
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/ComponentRegistry.java b/scr/src/main/java/org/apache/felix/scr/impl/ComponentRegistry.java
index 32f617d..a953a7c 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/ComponentRegistry.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/ComponentRegistry.java
@@ -346,7 +346,14 @@
List<ComponentHolder<?>> all = new ArrayList<>();
synchronized ( m_componentHoldersByName )
{
- all.addAll(m_componentHoldersByName.values());
+ for (ComponentHolder<?> holder: m_componentHoldersByName.values())
+ {
+ // Ignore name reservations
+ if (holder != null)
+ {
+ all.add(holder);
+ }
+ }
}
return all;
}