mono/mono — pull request #1178 by dougrathbone (2014-07-27 19:37:28+00:00)
Title: Bug fix caused by Dispose failing because 'Initialize' method throws exception

Fixing a bug that causes Dispose to fail because the `Initialize` method had earlier thrown a `CryptographicException` before the private variables `m_p, m_G, m_X` could be set. This causes the GC to fail to properly finalize an instance of DiffieHellmanManaged.

Exception thrown:

System.NullReferenceException: Object reference not set to an instance of an object.
at Mono.Security.Cryptography.DiffieHellmanManaged.Dispose(Boolean disposing)
at Mono.Security.Cryptography.DiffieHellmanManaged.Finalize()