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
This commit is contained in:
Ian Cordasco 2015-06-17 11:53:58 -05:00 committed by Ian Cordasco
parent 41f51ce469
commit f0388d068f

View file

@ -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