From f0388d068fd07209068de6b3ca0f8372e01ac086 Mon Sep 17 00:00:00 2001 From: Ian Cordasco Date: Wed, 17 Jun 2015 11:53:58 -0500 Subject: 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 --- src/cryptography/hazmat/backends/openssl/backend.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src') 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 -- cgit v1.2.3