diff options
author | Jeremy Hylton <jeremy@alum.mit.edu> | 2001-10-10 22:33:32 (GMT) |
---|---|---|
committer | Jeremy Hylton <jeremy@alum.mit.edu> | 2001-10-10 22:33:32 (GMT) |
commit | b0b0bd6cc6c69e909a1f8f384fc63488249a82dc (patch) | |
tree | 5aa4d146045cd41cd1a52ad9d32b3ad16ad2d9c9 | |
parent | 2771b5b52b3ed7a64c9e7c820518c9266915958b (diff) | |
download | cpython-b0b0bd6cc6c69e909a1f8f384fc63488249a82dc.zip cpython-b0b0bd6cc6c69e909a1f8f384fc63488249a82dc.tar.gz cpython-b0b0bd6cc6c69e909a1f8f384fc63488249a82dc.tar.bz2 |
USe PyObject_SetString() instead of PyObject_SetObject() in newSSLObject().
-rw-r--r-- | Modules/socketmodule.c | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index 5628d73..276afe2 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -2498,11 +2498,11 @@ static SSLObject * newSSLObject(PySocketSockObject *Sock, char *key_file, char *cert_file) { SSLObject *self; - PyObject *error = NULL; + char *errstr = NULL; self = PyObject_New(SSLObject, &SSL_Type); /* Create new object */ if (self == NULL){ - error = PyString_FromString("newSSLObject error"); + errstr = "newSSLObject error"; goto fail; } memset(self->server, '\0', sizeof(char) * 256); @@ -2514,28 +2514,25 @@ newSSLObject(PySocketSockObject *Sock, char *key_file, char *cert_file) self->ctx = SSL_CTX_new(SSLv23_method()); /* Set up context */ if (self->ctx == NULL) { - error = PyString_FromString("SSL_CTX_new error"); + errstr = "SSL_CTX_new error"; goto fail; } if ((key_file && !cert_file) || (!key_file && cert_file)) { - error = PyString_FromString( - "Both the key & certificate files must be specified"); + errstr = "Both the key & certificate files must be specified"; goto fail; } if (key_file && cert_file) { if (SSL_CTX_use_PrivateKey_file(self->ctx, key_file, SSL_FILETYPE_PEM) < 1) { - error = PyString_FromString( - "SSL_CTX_use_PrivateKey_file error"); + errstr = "SSL_CTX_use_PrivateKey_file error"; goto fail; } if (SSL_CTX_use_certificate_chain_file(self->ctx, cert_file) < 1) { - error = PyString_FromString( - "SSL_CTX_use_certificate_chain_file error"); + errstr = "SSL_CTX_use_certificate_chain_file error"; goto fail; } } @@ -2549,7 +2546,7 @@ newSSLObject(PySocketSockObject *Sock, char *key_file, char *cert_file) /* Actually negotiate SSL connection */ /* XXX If SSL_connect() returns 0, it's also a failure. */ if ((SSL_connect(self->ssl)) == -1) { - error = PyString_FromString("SSL_connect error"); + errstr = "SSL_connect error"; goto fail; } self->ssl->debug = 1; @@ -2564,10 +2561,8 @@ newSSLObject(PySocketSockObject *Sock, char *key_file, char *cert_file) Py_INCREF(self->Socket); return self; fail: - if (error) { - PyErr_SetObject(SSLErrorObject, error); - Py_DECREF(error); - } + if (errstr) + PyErr_SetString(SSLErrorObject, errstr); Py_DECREF(self); return NULL; } |