From adc69caa51bcb813b305dc36a376c61a633111d5 Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Sun, 15 Aug 2021 15:40:04 +0200 Subject: [PATCH] ImplementationFactory: Avoid accessing subclass in parent class initialization --- .../org/pgpainless/implementation/ImplementationFactory.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pgpainless-core/src/main/java/org/pgpainless/implementation/ImplementationFactory.java b/pgpainless-core/src/main/java/org/pgpainless/implementation/ImplementationFactory.java index 575a7f36..eadc0eed 100644 --- a/pgpainless-core/src/main/java/org/pgpainless/implementation/ImplementationFactory.java +++ b/pgpainless-core/src/main/java/org/pgpainless/implementation/ImplementationFactory.java @@ -42,13 +42,16 @@ import org.pgpainless.util.Passphrase; public abstract class ImplementationFactory { - private static ImplementationFactory FACTORY_IMPLEMENTATION = new BcImplementationFactory(); + private static ImplementationFactory FACTORY_IMPLEMENTATION; public static void setFactoryImplementation(ImplementationFactory implementation) { FACTORY_IMPLEMENTATION = implementation; } public static ImplementationFactory getInstance() { + if (FACTORY_IMPLEMENTATION == null) { + FACTORY_IMPLEMENTATION = new BcImplementationFactory(); + } return FACTORY_IMPLEMENTATION; }