mirror of
https://github.com/kvazar-network/kevacoin.git
synced 2025-01-17 18:40:09 +00:00
Merge pull request #868 from sipa/fix_650
Fix #650: CKey::SetSecret BIGNUM leak
This commit is contained in:
commit
49355d9993
@ -141,10 +141,13 @@ public:
|
|||||||
if (vchSecret.size() != 32)
|
if (vchSecret.size() != 32)
|
||||||
throw key_error("CKey::SetSecret() : secret must be 32 bytes");
|
throw key_error("CKey::SetSecret() : secret must be 32 bytes");
|
||||||
BIGNUM *bn = BN_bin2bn(&vchSecret[0],32,BN_new());
|
BIGNUM *bn = BN_bin2bn(&vchSecret[0],32,BN_new());
|
||||||
if (bn == NULL)
|
if (bn == NULL)
|
||||||
throw key_error("CKey::SetSecret() : BN_bin2bn failed");
|
throw key_error("CKey::SetSecret() : BN_bin2bn failed");
|
||||||
if (!EC_KEY_regenerate_key(pkey,bn))
|
if (!EC_KEY_regenerate_key(pkey,bn))
|
||||||
|
{
|
||||||
|
BN_clear_free(bn);
|
||||||
throw key_error("CKey::SetSecret() : EC_KEY_regenerate_key failed");
|
throw key_error("CKey::SetSecret() : EC_KEY_regenerate_key failed");
|
||||||
|
}
|
||||||
BN_clear_free(bn);
|
BN_clear_free(bn);
|
||||||
fSet = true;
|
fSet = true;
|
||||||
if (fCompressed || fCompressedPubKey)
|
if (fCompressed || fCompressedPubKey)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user