From f41e651e280a625c0a782789eefd478fb112dea8 Mon Sep 17 00:00:00 2001 From: INADA Naoki Date: Fri, 16 Jun 2017 16:58:59 +0900 Subject: [PATCH] fix leak of connection->converter. (#182) --- _mysql.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/_mysql.c b/_mysql.c index 8295f6c..6c5e07e 100644 --- a/_mysql.c +++ b/_mysql.c @@ -495,13 +495,10 @@ static int _mysql_ResultObject_traverse( return 0; } -static int _mysql_ResultObject_clear( - _mysql_ResultObject *self) +static int _mysql_ResultObject_clear(_mysql_ResultObject *self) { - Py_XDECREF(self->converter); - self->converter = NULL; - Py_XDECREF(self->conn); - self->conn = NULL; + Py_CLEAR(self->converter); + Py_CLEAR(self->conn); return 0; } @@ -796,8 +793,7 @@ _mysql_ConnectionObject_close( return NULL; } _mysql_ConnectionObject_clear(self); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static char _mysql_ConnectionObject_affected_rows__doc__ [] = @@ -2162,6 +2158,7 @@ _mysql_ConnectionObject_dealloc( mysql_close(&(self->connection)); self->open = 0; } + Py_CLEAR(self->converter); MyFree(self); }