summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRick Dean <rick@fdd.com>2009-07-18 15:28:38 -0500
committerRick Dean <rick@fdd.com>2009-07-18 15:28:38 -0500
commit4830525066abc432543a293e7bdce894bfbba3a0 (patch)
treefb3b34d2597ac20355f25d9e777e7e38da6b0a73 /src
parent585cd9ec6a8dd34c5023a5f63c66b5b7d1bccc22 (diff)
downloadpyopenssl-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.c6
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;