From 51f049ab3c6eaddd2afc5b089d54ac7b8244fa1e Mon Sep 17 00:00:00 2001 From: Alex Gaynor Date: Fri, 30 Jun 2017 15:50:23 -0700 Subject: Fixed a memory leak in EC private numbers (#3741) --- src/cryptography/hazmat/backends/openssl/backend.py | 6 ++++-- 1 file changed, 4 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 c481c094..18238e1c 100644 --- a/src/cryptography/hazmat/backends/openssl/backend.py +++ b/src/cryptography/hazmat/backends/openssl/backend.py @@ -1326,8 +1326,10 @@ class Backend(object): ec_cdata = self._ec_key_set_public_key_affine_coordinates( ec_cdata, public.x, public.y) - res = self._lib.EC_KEY_set_private_key( - ec_cdata, self._int_to_bn(numbers.private_value)) + private_value = self._ffi.gc( + self._int_to_bn(numbers.private_value), self._lib.BN_free + ) + res = self._lib.EC_KEY_set_private_key(ec_cdata, private_value) self.openssl_assert(res == 1) evp_pkey = self._ec_cdata_to_evp_pkey(ec_cdata) -- cgit v1.2.3