From b7a20898438a819f37b335adb4d1cab81ce4e0b3 Mon Sep 17 00:00:00 2001 From: Paul Kehrer Date: Sun, 4 Sep 2016 09:06:03 -0500 Subject: fix memory leak reported in #3134 (#3135) --- src/cryptography/hazmat/backends/openssl/encode_asn1.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/cryptography/hazmat/backends/openssl/encode_asn1.py b/src/cryptography/hazmat/backends/openssl/encode_asn1.py index 944dedc6..467aa88e 100644 --- a/src/cryptography/hazmat/backends/openssl/encode_asn1.py +++ b/src/cryptography/hazmat/backends/openssl/encode_asn1.py @@ -85,6 +85,10 @@ def _encode_name(backend, attributes): subject = backend._lib.X509_NAME_new() for attribute in attributes: name_entry = _encode_name_entry(backend, attribute) + # X509_NAME_add_entry dups the object so we need to gc this copy + name_entry = backend._ffi.gc( + name_entry, backend._lib.X509_NAME_ENTRY_free + ) res = backend._lib.X509_NAME_add_entry(subject, name_entry, -1, 0) backend.openssl_assert(res == 1) return subject -- cgit v1.2.3