parent
e48a74378d
commit
e03551112e
@ -0,0 +1,49 @@
|
|||||||
|
From 7b5cecf595cd1f4d0fb5b73e97f5fe2e00c4e255 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jeremy Cline <jeremy@jcline.org>
|
||||||
|
Date: Thu, 7 Sep 2017 20:11:08 -0400
|
||||||
|
Subject: [PATCH] Provide a destructor for the CRL object (#690)
|
||||||
|
|
||||||
|
This frees the memory allocated for the CRL object. Prior to this
|
||||||
|
commit, the following script would leak memory:
|
||||||
|
|
||||||
|
```
|
||||||
|
from OpenSSL.crypto import load_crl, FILETYPE_PEM
|
||||||
|
|
||||||
|
crl = """
|
||||||
|
-----BEGIN X509 CRL-----
|
||||||
|
MIIBfDCB5jANBgkqhkiG9w0BAQsFADCBoDELMAkGA1UEBhMCVVMxCzAJBgNVBAgT
|
||||||
|
Ak5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEgUHJvamVjdDEP
|
||||||
|
MA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNVBCkTBmZlZG1z
|
||||||
|
ZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmcXDTE3MDYx
|
||||||
|
NTIxMDMwOFoXDTM3MDYxMDIxMDMwOFowFDASAgECFw0xMjA3MTUyMTE4NTJaMA0G
|
||||||
|
CSqGSIb3DQEBCwUAA4GBAGOBuDxmRFNcYP71LBsCOfFzKij00qpxM01d5/G6+0kM
|
||||||
|
WJT8oTajMQoY6oISvQDq6TkwEoKc1yl6Ld1/XTtCNOhbybzRBAVf/Lxi/nRPP1JO
|
||||||
|
qOdZs5jMLLQq1mRJz+MgKHHTDlnvpbjHMuyTss1RblFDr4iZPHMcBNKPGIj3pmpA
|
||||||
|
-----END X509 CRL-----
|
||||||
|
"""
|
||||||
|
|
||||||
|
for _ in range(0, 1000000):
|
||||||
|
load_crl(FILETYPE_PEM, crl)
|
||||||
|
```
|
||||||
|
|
||||||
|
Signed-off-by: Jeremy Cline <jeremy@jcline.org>
|
||||||
|
---
|
||||||
|
src/OpenSSL/crypto.py | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/OpenSSL/crypto.py b/src/OpenSSL/crypto.py
|
||||||
|
index 52fcdaf..85c60b7 100644
|
||||||
|
--- a/src/OpenSSL/crypto.py
|
||||||
|
+++ b/src/OpenSSL/crypto.py
|
||||||
|
@@ -2758,7 +2758,7 @@ def load_crl(type, buffer):
|
||||||
|
_raise_current_error()
|
||||||
|
|
||||||
|
result = CRL.__new__(CRL)
|
||||||
|
- result._crl = crl
|
||||||
|
+ result._crl = _ffi.gc(crl, _lib.X509_CRL_free)
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
2.13.5
|
||||||
|
|
Loading…
Reference in new issue