aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2015-12-15 17:01:03 -0700
committerPaul Kehrer <paul.l.kehrer@gmail.com>2015-12-15 17:01:03 -0700
commit80d8d4af618def517f021e77a25d06fe8319c7d0 (patch)
treea98ea150665b85cece14558f3d0055697efd72c2
parent891844881e40b767bce3594043c68bf109e99b19 (diff)
downloadcryptography-80d8d4af618def517f021e77a25d06fe8319c7d0.tar.gz
cryptography-80d8d4af618def517f021e77a25d06fe8319c7d0.tar.bz2
cryptography-80d8d4af618def517f021e77a25d06fe8319c7d0.zip
X509_set_subject_name and X509_set_issuer_name copy the object
So we need to register our own copy for gc. This fixes a memory leak reported by Wulf.
-rw-r--r--src/cryptography/hazmat/backends/openssl/backend.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/backend.py b/src/cryptography/hazmat/backends/openssl/backend.py
index 8d9e5e0e..768559cf 100644
--- a/src/cryptography/hazmat/backends/openssl/backend.py
+++ b/src/cryptography/hazmat/backends/openssl/backend.py
@@ -1372,7 +1372,7 @@ class Backend(object):
# Set the subject's name.
res = self._lib.X509_set_subject_name(
- x509_cert, _encode_name(self, list(builder._subject_name))
+ x509_cert, _encode_name_gc(self, list(builder._subject_name))
)
self.openssl_assert(res == 1)
@@ -1423,7 +1423,7 @@ class Backend(object):
# Set the issuer name.
res = self._lib.X509_set_issuer_name(
- x509_cert, _encode_name(self, list(builder._issuer_name))
+ x509_cert, _encode_name_gc(self, list(builder._issuer_name))
)
self.openssl_assert(res == 1)