From 21a41c915c83c8ca8b7ff8a78d920b85726223a7 Mon Sep 17 00:00:00 2001 From: adustman Date: Fri, 1 Mar 2002 22:27:12 +0000 Subject: [PATCH] Fix a memory leak if the connect fails --- MySQLdb/_mysql.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/MySQLdb/_mysql.c b/MySQLdb/_mysql.c index e8ea0b8..0ec9492 100644 --- a/MySQLdb/_mysql.c +++ b/MySQLdb/_mysql.c @@ -239,6 +239,8 @@ _mysql_connect( c = PyObject_NEW(_mysql_ConnectionObject, &_mysql_ConnectionObject_Type); if (c == NULL) return NULL; + c->converter = NULL; + c->open = 0; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|ssssisOiiisss:connect", kwlist, &host, &user, &passwd, &db, @@ -246,8 +248,10 @@ _mysql_connect( &connect_timeout, &compress, &named_pipe, &init_command, &read_default_file, - &read_default_group)) + &read_default_group)) { + Py_DECREF(c); return NULL; + } if (!conv) conv = PyDict_New(); @@ -287,7 +291,6 @@ _mysql_connect( if (!conn) { _mysql_Exception(c); - c->open = 0; Py_DECREF(c); return NULL; }