From 1fdf29e6e0575e7976c68a6245fa217f6d611752 Mon Sep 17 00:00:00 2001 From: Paul Kehrer Date: Sun, 4 Feb 2018 22:24:07 +0800 Subject: fix a memory leak in ec derive_private_key (#4096) * fix a memory leak in ec derive_private_key fixes #4095 * pep8! --- src/cryptography/hazmat/backends/openssl/backend.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/cryptography/hazmat/backends/openssl/backend.py b/src/cryptography/hazmat/backends/openssl/backend.py index ebcf8015..85e13b57 100644 --- a/src/cryptography/hazmat/backends/openssl/backend.py +++ b/src/cryptography/hazmat/backends/openssl/backend.py @@ -1409,8 +1409,9 @@ class Backend(object): res = self._lib.EC_KEY_set_public_key(ec_cdata, point) self.openssl_assert(res == 1) - res = self._lib.EC_KEY_set_private_key( - ec_cdata, self._int_to_bn(private_value)) + private = self._int_to_bn(private_value) + private = self._ffi.gc(private, self._lib.BN_clear_free) + res = self._lib.EC_KEY_set_private_key(ec_cdata, private) self.openssl_assert(res == 1) evp_pkey = self._ec_cdata_to_evp_pkey(ec_cdata) -- cgit v1.2.3