From 1b953a6a6c5eaa781e9ac113d848d1fda7528f8f Mon Sep 17 00:00:00 2001 From: weidai Date: Wed, 10 Sep 2003 21:01:14 +0000 Subject: [PATCH] fix multithreading bug --- esign.h | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/esign.h b/esign.h index 9107bb27..e930e88c 100644 --- a/esign.h +++ b/esign.h @@ -93,17 +93,14 @@ public: HashTransformation &hash, HashIdentifier hashIdentifier, bool messageEmpty, byte *representative, unsigned int representativeBitLength) const { - m_digest.New(hash.DigestSize()); - hash.Final(m_digest); + SecByteBlock digest(hash.DigestSize()); + hash.Final(digest); unsigned int representativeByteLength = BitsToBytes(representativeBitLength); T mgf; - mgf.GenerateAndMask(hash, representative, representativeByteLength, m_digest, m_digest.size(), false); + mgf.GenerateAndMask(hash, representative, representativeByteLength, digest, digest.size(), false); if (representativeBitLength % 8 != 0) representative[0] = (byte)Crop(representative[0], representativeBitLength % 8); } - -private: - mutable SecByteBlock m_digest; }; //! EMSA5, for use with ESIGN