From: Andrew M. Kuchling Date: Mon, 9 Oct 2006 18:30:13 +0000 (+0000) Subject: [Partial backport of r45947 | neal.norwitz] X-Git-Tag: v2.4.4c1~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cebdc5e373e9df417b24e4f5442637f27d53f4ba;p=thirdparty%2FPython%2Fcpython.git [Partial backport of r45947 | neal.norwitz] 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. --- diff --git a/Modules/_csv.c b/Modules/_csv.c index 044ea4b51aa4..8f3a9c9770e8 100644 --- a/Modules/_csv.c +++ b/Modules/_csv.c @@ -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)) diff --git a/Modules/_ssl.c b/Modules/_ssl.c index f2b9cdef48d8..b4545579f35e 100644 --- a/Modules/_ssl.c +++ b/Modules/_ssl.c @@ -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);