From c5447acfb0a4de1dfc130993c16d3b2309bce360 Mon Sep 17 00:00:00 2001 From: liran2000 Date: Thu, 7 Sep 2023 14:41:46 +0300 Subject: [PATCH 1/2] fix: fix NPE on named provider init Signed-off-by: liran2000 --- src/main/java/dev/openfeature/sdk/ProviderRepository.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/dev/openfeature/sdk/ProviderRepository.java b/src/main/java/dev/openfeature/sdk/ProviderRepository.java index b7d570498..65b53345c 100644 --- a/src/main/java/dev/openfeature/sdk/ProviderRepository.java +++ b/src/main/java/dev/openfeature/sdk/ProviderRepository.java @@ -142,7 +142,8 @@ private void shutDownOld(FeatureProvider oldProvider,Consumer a } private boolean isProviderRegistered(FeatureProvider oldProvider) { - return this.providers.containsValue(oldProvider) || this.defaultProvider.get().equals(oldProvider); + return oldProvider != null && (this.providers.containsValue(oldProvider) + || this.defaultProvider.get().equals(oldProvider)); } private void shutdownProvider(FeatureProvider provider) { From 682b6094174353f7fbf695f05bf513cf9cb69615 Mon Sep 17 00:00:00 2001 From: liran2000 Date: Thu, 7 Sep 2023 22:26:17 +0300 Subject: [PATCH 2/2] add condition for not calling shutdown on null old provider Signed-off-by: liran2000 --- src/main/java/dev/openfeature/sdk/ProviderRepository.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/dev/openfeature/sdk/ProviderRepository.java b/src/main/java/dev/openfeature/sdk/ProviderRepository.java index 65b53345c..80bce33ab 100644 --- a/src/main/java/dev/openfeature/sdk/ProviderRepository.java +++ b/src/main/java/dev/openfeature/sdk/ProviderRepository.java @@ -135,7 +135,7 @@ private void initializeProvider(FeatureProvider newProvider, } private void shutDownOld(FeatureProvider oldProvider,Consumer afterShutdown) { - if (!isProviderRegistered(oldProvider)) { + if (oldProvider != null && !isProviderRegistered(oldProvider)) { shutdownProvider(oldProvider); afterShutdown.accept(oldProvider); }