diff options
-rw-r--r-- | crypto/src/x509/X509Certificate.cs | 6 | ||||
-rw-r--r-- | crypto/src/x509/X509Crl.cs | 3 |
2 files changed, 3 insertions, 6 deletions
diff --git a/crypto/src/x509/X509Certificate.cs b/crypto/src/x509/X509Certificate.cs index aec793731..f58477439 100644 --- a/crypto/src/x509/X509Certificate.cs +++ b/crypto/src/x509/X509Certificate.cs @@ -477,8 +477,7 @@ namespace Org.BouncyCastle.X509 AsymmetricKeyParameter temp = PublicKeyFactory.CreateKey(c.SubjectPublicKeyInfo); - Interlocked.CompareExchange(ref publicKeyValue, temp, null); - return publicKeyValue; + return Interlocked.CompareExchange(ref publicKeyValue, temp, null) ?? temp; } /// <summary> @@ -699,8 +698,7 @@ namespace Org.BouncyCastle.X509 CachedEncoding temp = new CachedEncoding(encoding, exception); - Interlocked.CompareExchange(ref cachedEncoding, temp, null); - return cachedEncoding; + return Interlocked.CompareExchange(ref cachedEncoding, temp, null) ?? temp; } private static bool IsAlgIDEqual(AlgorithmIdentifier id1, AlgorithmIdentifier id2) diff --git a/crypto/src/x509/X509Crl.cs b/crypto/src/x509/X509Crl.cs index e47addd7a..b4af1b374 100644 --- a/crypto/src/x509/X509Crl.cs +++ b/crypto/src/x509/X509Crl.cs @@ -466,8 +466,7 @@ namespace Org.BouncyCastle.X509 CachedEncoding temp = new CachedEncoding(encoding, exception); - Interlocked.CompareExchange(ref cachedEncoding, temp, null); - return cachedEncoding; + return Interlocked.CompareExchange(ref cachedEncoding, temp, null) ?? temp; } } } |