Skip to content

Commit 7e191f0

Browse files
committed
Merge petertodd#200: misc fixes key.py
c31b6e7 misc fixes key.py (Mark B Lundeberg) Pull request description: * BN_bin2bn happy to take null ptr as arg and do allocation. * EC_POINT_mul hears you the first time, don't need to call twice. * EC_KEY_set_private_key makes a copy of the key; without freeing it we have a memory leak. Tree-SHA512: 6557c788c27933ee1dc3d6085f3c3f259ed0547811c1a3f7bd3679f8ee664772a53cca81a56e6dfac2eaecea613d006b1c5ccaedc7c7ccd121a15fcd41fb58fb
2 parents f04a1a3 + c31b6e7 commit 7e191f0

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

bitcoin/core/key.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,16 +211,16 @@ def __del__(self):
211211
self.k = None
212212

213213
def set_secretbytes(self, secret):
214-
priv_key = _ssl.BN_bin2bn(secret, 32, _ssl.BN_new())
214+
priv_key = _ssl.BN_bin2bn(secret, 32, None)
215215
group = _ssl.EC_KEY_get0_group(self.k)
216216
pub_key = _ssl.EC_POINT_new(group)
217217
ctx = _ssl.BN_CTX_new()
218218
if not _ssl.EC_POINT_mul(group, pub_key, priv_key, None, None, ctx):
219219
raise ValueError("Could not derive public key from the supplied secret.")
220-
_ssl.EC_POINT_mul(group, pub_key, priv_key, None, None, ctx)
221220
_ssl.EC_KEY_set_private_key(self.k, priv_key)
222221
_ssl.EC_KEY_set_public_key(self.k, pub_key)
223222
_ssl.EC_POINT_free(pub_key)
223+
_ssl.BN_free(priv_key)
224224
_ssl.BN_CTX_free(ctx)
225225
return self.k
226226

0 commit comments

Comments
 (0)