aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlex Gaynor <alex.gaynor@gmail.com>2017-04-09 11:41:03 -0400
committerPaul Kehrer <paul.l.kehrer@gmail.com>2017-04-09 23:41:03 +0800
commit3f12963358c73a272a03dbbd064f3a0ca900179a (patch)
tree65f0e5c356aa7f75dcda99bee8bc7e89d82c9e49 /src
parente660ffe2e690291649781ceb173e572767a6f0ec (diff)
downloadcryptography-3f12963358c73a272a03dbbd064f3a0ca900179a.tar.gz
cryptography-3f12963358c73a272a03dbbd064f3a0ca900179a.tar.bz2
cryptography-3f12963358c73a272a03dbbd064f3a0ca900179a.zip
Another simplification of freeing (#3498)
Diffstat (limited to 'src')
-rw-r--r--src/_cffi_src/openssl/x509v3.py1
-rw-r--r--src/cryptography/hazmat/backends/openssl/decode_asn1.py8
2 files changed, 2 insertions, 7 deletions
diff --git a/src/_cffi_src/openssl/x509v3.py b/src/_cffi_src/openssl/x509v3.py
index 30cb99cb..945bb3a9 100644
--- a/src/_cffi_src/openssl/x509v3.py
+++ b/src/_cffi_src/openssl/x509v3.py
@@ -257,6 +257,7 @@ int sk_POLICYINFO_push(Cryptography_STACK_OF_POLICYINFO *, POLICYINFO *);
Cryptography_STACK_OF_POLICYINFO *sk_POLICYINFO_new_null(void);
void sk_POLICYINFO_pop_free(Cryptography_STACK_OF_POLICYINFO *,
sk_POLICYINFO_freefunc);
+void CERTIFICATEPOLICIES_free(Cryptography_STACK_OF_POLICYINFO *);
POLICYINFO *POLICYINFO_new(void);
void POLICYINFO_free(POLICYINFO *);
diff --git a/src/cryptography/hazmat/backends/openssl/decode_asn1.py b/src/cryptography/hazmat/backends/openssl/decode_asn1.py
index 9ff38c97..b6910d9c 100644
--- a/src/cryptography/hazmat/backends/openssl/decode_asn1.py
+++ b/src/cryptography/hazmat/backends/openssl/decode_asn1.py
@@ -248,13 +248,7 @@ class _X509ExtensionParser(object):
def _decode_certificate_policies(backend, cp):
cp = backend._ffi.cast("Cryptography_STACK_OF_POLICYINFO *", cp)
-
- cp_freefunc = backend._ffi.addressof(
- backend._lib._original_lib, "POLICYINFO_free"
- )
- cp = backend._ffi.gc(
- cp, lambda c: backend._lib.sk_POLICYINFO_pop_free(c, cp_freefunc)
- )
+ cp = backend._ffi.gc(cp, backend._lib.CERTIFICATEPOLICIES_free)
num = backend._lib.sk_POLICYINFO_num(cp)
certificate_policies = []