aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Gaynor <alex.gaynor@gmail.com>2015-07-05 12:43:20 -0400
committerAlex Gaynor <alex.gaynor@gmail.com>2015-07-05 12:43:20 -0400
commitcc781e31f37d53c7d8ba0654db4e47e04c88f662 (patch)
treee2925f8c0bee7742e81a968563f8bca52251c020
parent8df780814d0f779dd80bf093ec8fcefc2071b248 (diff)
downloadcryptography-cc781e31f37d53c7d8ba0654db4e47e04c88f662.tar.gz
cryptography-cc781e31f37d53c7d8ba0654db4e47e04c88f662.tar.bz2
cryptography-cc781e31f37d53c7d8ba0654db4e47e04c88f662.zip
fixed a leak in the event of non-DNS GN
-rw-r--r--src/cryptography/hazmat/backends/openssl/backend.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/backend.py b/src/cryptography/hazmat/backends/openssl/backend.py
index 06801bc9..bbec6185 100644
--- a/src/cryptography/hazmat/backends/openssl/backend.py
+++ b/src/cryptography/hazmat/backends/openssl/backend.py
@@ -146,10 +146,11 @@ def _encode_subject_alt_name(backend, san):
)
for alt_name in san:
- gn = backend._lib.GENERAL_NAME_new()
- assert gn != backend._ffi.NULL
if isinstance(alt_name, x509.DNSName):
+ gn = backend._lib.GENERAL_NAME_new()
+ assert gn != backend._ffi.NULL
gn.type = backend._lib.GEN_DNS
+
ia5 = backend._lib.ASN1_IA5STRING_new()
assert ia5 != backend._ffi.NULL