aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2015-06-28 18:05:20 -0500
committerPaul Kehrer <paul.l.kehrer@gmail.com>2015-06-28 18:05:54 -0500
commit7f6b118ad2ecdd823609c0f11c7e09e88d3e0f6e (patch)
treef6b756927e354ded839abf467b634bf8926dae0b /src
parent169c257a31875596c303bcb2feaafc585ce1f85f (diff)
downloadcryptography-7f6b118ad2ecdd823609c0f11c7e09e88d3e0f6e.tar.gz
cryptography-7f6b118ad2ecdd823609c0f11c7e09e88d3e0f6e.tar.bz2
cryptography-7f6b118ad2ecdd823609c0f11c7e09e88d3e0f6e.zip
fix a memory leak in basic constraints encoding
Diffstat (limited to 'src')
-rw-r--r--src/cryptography/hazmat/backends/openssl/backend.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/backend.py b/src/cryptography/hazmat/backends/openssl/backend.py
index 18faecb3..88a17de0 100644
--- a/src/cryptography/hazmat/backends/openssl/backend.py
+++ b/src/cryptography/hazmat/backends/openssl/backend.py
@@ -119,6 +119,9 @@ def _encode_basic_constraints(backend, basic_constraints, critical):
obj = _txt2obj(backend, x509.OID_BASIC_CONSTRAINTS.dotted_string)
assert obj is not None
constraints = backend._lib.BASIC_CONSTRAINTS_new()
+ constraints = backend._ffi.gc(
+ constraints, backend._lib.BASIC_CONSTRAINTS_free
+ )
constraints.ca = 255 if basic_constraints.ca else 0
if basic_constraints.ca:
constraints.pathlen = _encode_asn1_int(