Commits

Andrew Kuchling  committed ede05d3

[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.

  • Participants
  • Parent commits eda931f
  • Branches 2.4

Comments (0)

Files changed (2)

File Modules/_csv.c

 	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))

File Modules/_ssl.c

 	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);