fix a memory leak in key.cpp

- add EC_KEY_free() in CKey::Reset() when pkey != NULL
- init pkey with NULL in CKey constructor
This commit is contained in:
Philip Kaufmann 2012-06-21 12:05:06 +02:00
parent d65e959bae
commit a3d12f445a
1 changed files with 3 additions and 0 deletions

View File

@ -129,6 +129,8 @@ void CKey::SetCompressedPubKey()
void CKey::Reset()
{
fCompressedPubKey = false;
if (pkey != NULL)
EC_KEY_free(pkey);
pkey = EC_KEY_new_by_curve_name(NID_secp256k1);
if (pkey == NULL)
throw key_error("CKey::CKey() : EC_KEY_new_by_curve_name failed");
@ -137,6 +139,7 @@ void CKey::Reset()
CKey::CKey()
{
pkey = NULL;
Reset();
}