From 40baa274f979d29310ef54493d05cd2e52043417 Mon Sep 17 00:00:00 2001 From: Paul Kehrer Date: Tue, 10 Jul 2018 16:39:00 +0530 Subject: fix a memory leak when calling X25519PrivateKey.public_key() (#4326) --- src/cryptography/hazmat/backends/openssl/x25519.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/cryptography/hazmat/backends/openssl/x25519.py b/src/cryptography/hazmat/backends/openssl/x25519.py index f92b184b..5599c2fd 100644 --- a/src/cryptography/hazmat/backends/openssl/x25519.py +++ b/src/cryptography/hazmat/backends/openssl/x25519.py @@ -42,6 +42,10 @@ class _X25519PrivateKey(object): evp_pkey = self._backend._lib.d2i_PUBKEY_bio( bio, self._backend._ffi.NULL ) + self._backend.openssl_assert(evp_pkey != self._backend._ffi.NULL) + evp_pkey = self._backend._ffi.gc( + evp_pkey, self._backend._lib.EVP_PKEY_free + ) return _X25519PublicKey(self._backend, evp_pkey) def exchange(self, peer_public_key): -- cgit v1.2.3