1
0
mirror of https://github.com/PurpleI2P/i2pd.git synced 2025-02-02 02:44:15 +00:00

initialize m_Pkey

This commit is contained in:
orignal 2018-12-11 15:14:51 -05:00
parent 65cbb06080
commit 8a987af244

View File

@ -283,6 +283,7 @@ namespace crypto
{ {
#if OPENSSL_X25519 #if OPENSSL_X25519
m_Ctx = EVP_PKEY_CTX_new_id (NID_X25519, NULL); m_Ctx = EVP_PKEY_CTX_new_id (NID_X25519, NULL);
m_Pkey = nullptr;
#else #else
m_Ctx = BN_CTX_new (); m_Ctx = BN_CTX_new ();
#endif #endif
@ -305,8 +306,7 @@ namespace crypto
{ {
#if OPENSSL_X25519 #if OPENSSL_X25519
EVP_PKEY_CTX_free (m_Ctx); EVP_PKEY_CTX_free (m_Ctx);
if (m_Pkey) if (m_Pkey) EVP_PKEY_free (m_Pkey);
EVP_PKEY_free (m_Pkey);
#else #else
BN_CTX_free (m_Ctx); BN_CTX_free (m_Ctx);
#endif #endif
@ -315,7 +315,11 @@ namespace crypto
void X25519Keys::GenerateKeys () void X25519Keys::GenerateKeys ()
{ {
#if OPENSSL_X25519 #if OPENSSL_X25519
m_Pkey = nullptr; if (m_Pkey)
{
EVP_PKEY_free (m_Pkey);
m_Pkey = nullptr;
}
EVP_PKEY_keygen_init (m_Ctx); EVP_PKEY_keygen_init (m_Ctx);
EVP_PKEY_keygen (m_Ctx, &m_Pkey); EVP_PKEY_keygen (m_Ctx, &m_Pkey);
EVP_PKEY_CTX_free (m_Ctx); EVP_PKEY_CTX_free (m_Ctx);