File: OpenSSL/crypto/crypto.c
Function: crypto_load_certificate
Error: returning (PyObject*)NULL without setting an exception
250 static PyObject *
251 crypto_load_certificate(PyObject *spam, PyObject *args)
252 {
253     crypto_X509Obj *crypto_X509_New(X509 *, int);
254     int type, len;
255     char *buffer;
256     BIO *bio;
257     X509 *cert;
258 
259     if (!PyArg_ParseTuple(args, "is#:load_certificate", &type, &buffer, &len))
when PyArg_ParseTuple() succeeds
taking False path
260         return NULL;
261 
262     bio = BIO_new_mem_buf(buffer, len);
263     switch (type)
when following case 1
264     {
265         case X509_FILETYPE_PEM:
266             cert = PEM_read_bio_X509(bio, NULL, NULL, NULL);
267             break;
268 
269         case X509_FILETYPE_ASN1:
270             cert = d2i_X509_bio(bio, NULL);
271             break;
272 
273         default:
274             PyErr_SetString(PyExc_ValueError, "type argument must be FILETYPE_PEM or FILETYPE_ASN1");
275             BIO_free(bio);
276             return NULL;
277     }
278     BIO_free(bio);
279 
280     if (cert == NULL)
when treating unknown struct X509 * from OpenSSL/crypto/crypto.c:266 as NULL
taking True path
281     {
282         exception_from_error_queue(crypto_Error);
283         return NULL;
284     }
285 
286     return (PyObject *)crypto_X509_New(cert, 1);
287 }
returning (PyObject*)NULL without setting an exception
found 1 similar trace(s) to this