From 483c74aaab7c20d82a48621f1dd8b300292d3404 Mon Sep 17 00:00:00 2001 From: weidai Date: Tue, 29 Jul 2003 01:18:33 +0000 Subject: fix potential threading problem with initialization of static objects git-svn-id: svn://svn.code.sf.net/p/cryptopp/code/trunk/c5@118 57ff6487-cd31-0410-9ec3-f628ee90f5f0 --- pubkey.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'pubkey.h') diff --git a/pubkey.h b/pubkey.h index fcf3f50..1b7f047 100644 --- a/pubkey.h +++ b/pubkey.h @@ -414,7 +414,7 @@ public: protected: const typename BASE::MessageEncodingInterface & GetMessageEncodingInterface() const - {static typename SCHEME_OPTIONS::MessageEncodingMethod messageEncodingMethod; return messageEncodingMethod;} + {return Singleton().Ref();} const TrapdoorFunctionBounds & GetTrapdoorFunctionBounds() const {return GetKey();} const typename BASE::TrapdoorFunctionInterface & GetTrapdoorFunctionInterface() const @@ -1322,17 +1322,17 @@ public: protected: const DL_ElgamalLikeSignatureAlgorithm & GetSignatureAlgorithm() const - {static typename SCHEME_OPTIONS::SignatureAlgorithm a; return a;} + {return Singleton().Ref();} const DL_KeyAgreementAlgorithm & GetKeyAgreementAlgorithm() const - {static typename SCHEME_OPTIONS::KeyAgreementAlgorithm a; return a;} + {return Singleton().Ref();} const DL_KeyDerivationAlgorithm & GetKeyDerivationAlgorithm() const - {static typename SCHEME_OPTIONS::KeyDerivationAlgorithm a; return a;} + {return Singleton().Ref();} const DL_SymmetricEncryptionAlgorithm & GetSymmetricEncryptionAlgorithm() const - {static typename SCHEME_OPTIONS::SymmetricEncryptionAlgorithm a; return a;} + {return Singleton().Ref();} HashIdentifier GetHashIdentifier() const {return HashIdentifier();} const PK_SignatureMessageEncodingMethod & GetMessageEncodingInterface() const - {static typename SCHEME_OPTIONS::MessageEncodingMethod a; return a;} + {return Singleton().Ref();} }; //! . -- cgit v1.2.1