parent
0765d0f1d1
commit
d948417bad
@ -1,49 +0,0 @@
|
||||
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