aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Cordasco <ian.cordasco@rackspace.com>2015-06-17 11:53:58 -0500
committerIan Cordasco <graffatcolmingov@gmail.com>2015-06-24 13:35:50 -0500
commitf0388d068fd07209068de6b3ca0f8372e01ac086 (patch)
tree9cdc1c1cbe2546c1336cf0284db8cd99164c3d6d
parent41f51ce4690472ae930ccffd1a0b9e198945aa84 (diff)
downloadcryptography-f0388d068fd07209068de6b3ca0f8372e01ac086.tar.gz
cryptography-f0388d068fd07209068de6b3ca0f8372e01ac086.tar.bz2
cryptography-f0388d068fd07209068de6b3ca0f8372e01ac086.zip
Update registering pp with ffi.gc
This makes it more in-line with existing functions, e.g., L40-L47 of src/cryptography/hazmat/backends/openssl/x509.py @ b0e8ffa
-rw-r--r--src/cryptography/hazmat/backends/openssl/backend.py7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/backend.py b/src/cryptography/hazmat/backends/openssl/backend.py
index 406117b9..f4cfa940 100644
--- a/src/cryptography/hazmat/backends/openssl/backend.py
+++ b/src/cryptography/hazmat/backends/openssl/backend.py
@@ -132,6 +132,9 @@ def _encode_basic_constraints(backend, basic_constraints, critical):
pp = backend._ffi.new('unsigned char **')
r = backend._lib.i2d_BASIC_CONSTRAINTS(constraints, pp)
assert r > 0
+ pp = backend._ffi.gc(
+ pp, lambda pointer: backend._lib.OPENSSL_free(pointer[0])
+ )
# Wrap that in an X509 extension object.
extension = backend._lib.X509_EXTENSION_create_by_OBJ(
@@ -142,10 +145,6 @@ def _encode_basic_constraints(backend, basic_constraints, critical):
)
assert extension != backend._ffi.NULL
- pp[0] = backend._ffi.gc(pp[0], backend._lib.OPENSSL_free)
- # Release acquired memory.
- pp[0] = backend._ffi.NULL
-
# Return the wrapped extension.
return extension