fixed a leak in the event of non-DNS GN
diff --git a/src/cryptography/hazmat/backends/openssl/backend.py b/src/cryptography/hazmat/backends/openssl/backend.py
index 06801bc..bbec618 100644
--- a/src/cryptography/hazmat/backends/openssl/backend.py
+++ b/src/cryptography/hazmat/backends/openssl/backend.py
@@ -146,10 +146,11 @@
)
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