diff options
| author | Rick Dean <rick@fdd.com> | 2009-07-18 15:28:38 -0500 |
|---|---|---|
| committer | Rick Dean <rick@fdd.com> | 2009-07-18 15:28:38 -0500 |
| commit | 4830525066abc432543a293e7bdce894bfbba3a0 (patch) | |
| tree | fb3b34d2597ac20355f25d9e777e7e38da6b0a73 /src | |
| parent | 585cd9ec6a8dd34c5023a5f63c66b5b7d1bccc22 (diff) | |
| download | pyopenssl-4830525066abc432543a293e7bdce894bfbba3a0.tar.gz | |
Convert crypto_PKCS12Obj->cacerts to a tuple as Jean-Paul pointed out.
Diffstat (limited to 'src')
| -rw-r--r-- | src/crypto/pkcs12.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/crypto/pkcs12.c b/src/crypto/pkcs12.c index 5ef699d..963d29c 100644 --- a/src/crypto/pkcs12.c +++ b/src/crypto/pkcs12.c @@ -147,6 +147,7 @@ crypto_PKCS12_set_ca_certificates(crypto_PKCS12Obj *self, PyObject *args, PyObje if (cacerts == Py_None) { /* We are good. */ } else if (PySequence_Check(cacerts)) { /* is iterable */ + /* Check is's a simple list filled only with X509 objects. */ for(i = 0;i < PySequence_Length(cacerts);i++) { /* For each CA cert */ PyObject *obj; obj = PySequence_GetItem(cacerts, i); @@ -157,6 +158,11 @@ crypto_PKCS12_set_ca_certificates(crypto_PKCS12Obj *self, PyObject *args, PyObje } Py_DECREF(obj); } + cacerts = PySequence_Tuple(cacerts); + if(cacerts == NULL) { + PyErr_SetString(PyExc_TypeError, "" /* "failed to convert cacerts to a tuple" */); + return NULL; + } } else { PyErr_SetString(PyExc_TypeError, "cacerts must be an iterable or None"); return NULL; |
