]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[Partial backport of r45947 | neal.norwitz]
authorAndrew M. Kuchling <amk@amk.ca>
Mon, 9 Oct 2006 18:30:13 +0000 (18:30 +0000)
committerAndrew M. Kuchling <amk@amk.ca>
Mon, 9 Oct 2006 18:30:13 +0000 (18:30 +0000)
Fix problems found by Coverity.

_ssl.c: under fail: self is DECREF'd, but it would have been NULL.

_csv.c: I'm not sure if lineterminator could have been anything other than
a string.  However, other string method calls are checked, so check this
one too.

Modules/_csv.c
Modules/_ssl.c

index 044ea4b51aa41cfb978d8451158515e84ed05aff..8f3a9c9770e865ea9fb81bed78578a0206038b30 100644 (file)
@@ -1051,6 +1051,8 @@ join_append_lineterminator(WriterObj *self)
        int terminator_len;
 
        terminator_len = PyString_Size(self->dialect->lineterminator);
+       if (terminator_len == -1)
+               return 0;
 
        /* grow record buffer if necessary */
        if (!join_check_rec_size(self, self->rec_len + terminator_len))
index f2b9cdef48d859cbe1f85ab493f14c971ed4f235..b4545579f35e3139746fde501feeeb8d48e80e9c 100644 (file)
@@ -184,9 +184,9 @@ newPySSLObject(PySocketSockObject *Sock, char *key_file, char *cert_file)
        int sockstate;
 
        self = PyObject_New(PySSLObject, &PySSL_Type); /* Create new object */
-       if (self == NULL){
-               errstr = "newPySSLObject error";
-               goto fail;
+       if (self == NULL) {
+               PyErr_SetString(PySSLErrorObject, "newPySSLObject error");
+               return NULL;
        }
        memset(self->server, '\0', sizeof(char) * X509_NAME_MAXLEN);
        memset(self->issuer, '\0', sizeof(char) * X509_NAME_MAXLEN);